Client-generated content within a media universe

ABSTRACT

A media universe (MU) system may leverage network-based resources to store and maintain a database of content for a world encompassed by the media universe. One or more layers of content including a client layer may be overlaid on a base or canonical layer of content in the MU database to enable an immersive client experience within the media universe. Clients may participate within the media universe via the MU system, for example to create customized digital assets. Client-generated content or other content may be dynamically integrated into digital media based within the media universe, for example by leveraging the repository to store and access the client-generated content, and network-based computing resources to dynamically insert the content into digital media for streaming to the clients. Client-generated content may be promoted to intermediate layers and/or to canon within the MU database, for example by community voting, popularity, and so on.

This application claims benefit of priority of U.S. ProvisionalApplication Ser. No. 62/035,213 entitled “MEDIA UNIVERSE METHODS ANDAPPARATUS” filed Aug. 8, 2014, the content of which is incorporated byreference herein in its entirety.

BACKGROUND

Various entities may create or control media universes that encompassfictional worlds. Broadly speaking, a fictional world is a (generally)self-consistent setting for works of fiction. Broad categories offictional worlds may include, but are not limited to, fictionalizedversions of the real world, alternate history or alternative realityuniverses, science fiction universes, and fantasy worlds. A fictionalworld may be based on one or more works in various media including butnot limited to books, short stories, comic books, graphic novels,movies, shows or series distributed via various channels (e.g.,television, cable, or web series), cartoons, anime, games, and toys. Inaddition, new works in various media including but not limited to books,short stories, comic books, graphic novels, movies, shows or series,cartoons, anime, games, and toys may be specifically created withcontent or storylines set within an existing fictional world.

A fictional world may include its own histories, storylines,environments, locations, civilizations, characters, objects,technologies, flora, fauna, languages, rules, and so on. In manyfictional worlds, there is an accepted collection of media, storylines,histories, characters, objects, locations and so on that may be viewedas the canonical content (or canon) of the world. New works may followthe canon to maintain continuity within the world, and may extend thecanon with new storylines, characters, and so on. In addition, there maybe other non-canonical content (e.g., “fan fiction”) based on or setwithin the fictional world. The collection of all media and othercanonical and non-canonical content for a fictional world may bereferred to as a media universe.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a network environment formanaging and sharing digital assets in a media universe, according to atleast some embodiments.

FIG. 2 is a high-level illustration of a media universe (MU) systemimplemented within a provider network, according to at least someembodiments.

FIGS. 3A through 3C graphically illustrate aspects of a media universedatabase that may be maintained within a media universe system,according to at least some embodiments.

FIGS. 4A through 4C graphically illustrate a method for selectingobjects within digital media, according to at least some embodiments.

FIGS. 5A through 5C graphically illustrate accessing contextualinformation within digital media, according to at least someembodiments.

FIG. 6 is a high-level flowchart of a method for dynamically renderingand delivering targeted digital media content to clients of an MUsystem, according to at least some embodiments.

FIG. 7 is a high-level flowchart of a method for dynamically renderingand delivering digital media content to a client of an MU system inresponse to client interactions with the digital media content,according to at least some embodiments.

FIG. 8 is a high-level flowchart of a method for implementing activeregions within digital media content and dynamically rendering anddelivering digital media content to a client of an MU system in responseto client interactions with the active regions in the digital mediacontent, according to at least some embodiments.

FIG. 9 is a high-level flowchart of integrating client interactions andclient-specific data and information into a media universe databaseincluding canonical data and information, according to at least someembodiments.

FIGS. 10A and 10B illustrate a viewing companion application or systemthat may be used with a media universe system, according to at leastsome embodiments.

FIGS. 10C through 10E illustrate methods and apparatus for accessingoff-screen content of a 3D modeled world in a media universe system,according to at least some embodiments.

FIGS. 10F and 10G illustrate methods and apparatus for capturing andproviding off-set content in a media universe system, according to atleast some embodiments.

FIGS. 10H through 10K graphically illustrate an MU system environment inwhich multiple viewers may participate in exploring and interacting witha modeled world dynamically rendered by an MU system and streamed torespective client devices, according to at least some embodiments.

FIG. 11 is a high-level illustration of a repository service, accordingto at least some embodiments.

FIG. 12 illustrates an example MU system and environment in whichnetwork-based computation resources are leveraged to provide real-time,low-latency rendering and streaming of video content, according to atleast some embodiments.

FIG. 13A illustrates an example network-based environment in which astreaming service is used to stream rendered video to clients, accordingto at least some embodiments.

FIG. 13B illustrates rendering and streaming digital media content toclients via multiple MU system instances, according to at least someembodiments.

FIGS. 13C and 13D illustrate rendering and streaming digital mediacontent for multiple clients on one MU system instance, according to atleast some embodiments.

FIG. 14 is a diagram illustrating an example provider networkenvironment in which embodiments as described herein may be implemented.

FIG. 15 is a block diagram illustrating an example computer system thatmay be used in some embodiments.

While embodiments are described herein by way of example for severalembodiments and illustrative drawings, those skilled in the art willrecognize that embodiments are not limited to the embodiments ordrawings described. It should be understood, that the drawings anddetailed description thereto are not intended to limit embodiments tothe particular form disclosed, but on the contrary, the intention is tocover all modifications, equivalents and alternatives falling within thespirit and scope as defined by the appended claims. The headings usedherein are for organizational purposes only and are not meant to be usedto limit the scope of the description or the claims. As used throughoutthis application, the word “may” is used in a permissive sense (i.e.,meaning having the potential to), rather than the mandatory sense (i.e.,meaning must). Similarly, the words “include”, “including”, and“includes” mean including, but not limited to.

DETAILED DESCRIPTION

Embodiments of methods and apparatus for managing and sharing digitalassets within a media universe are described. In addition, embodimentsof methods and apparatus for providing interactive experiences tocustomers (also referred to as clients or users) of a media universe aredescribed.

A media universe may, for example, include the collection of all mediaand other canonical and non-canonical content for a fictional world orfranchise. Media within a media universe may include but is not limitedto books, short stories, comic books, graphic novels, video, movies,shows or series distributed via various channels (e.g., television,cable, or web series), cartoons, anime, games, video games, multiplayergames, toys, animatic shorts, and interactive media.

While media universes are generally described herein in the context offictional worlds or franchises, media universes may instead or alsoencompass or contain media and other content related to real-worldtopics, areas, or categories of interest. As non-limiting examples, amedia universe may contain content related to history, for examplegeneral historical content or content related to a particular era, war,event, country, person, etc.; content related to a field of art,science, technology, occupation, craft, medicine, etc.; content relatedto recreation, sports, hobbies, etc.; or in general content related toany real-world topic, area, or category of interest that may have or maygenerate a corpus of media and other content related to the real-worldtopic, area, or category of interest. These real-world topics, areas, orcategories of interest may be referred to as non-fictional worlds. Thus,a collection of media and other content for a fictional world or for anon-fictional world may be referred to herein as a media universe. Forsimplicity, a fictional world or non-fictional world that is encompassedby a media universe may be referred to as a media universe (MU) world,or as a world of the media universe.

Much media produced today, including but not limited to video media(movies, television shows or series, etc.) and video games, may bedigital media at least partially generated using digital assetsincluding but not limited to two-dimensional (2D) or three-dimensional(3D) digital objects or models. Different entities (e.g., movie orseries producers, electronic game producers, etc.) may produce digitalmedia for a media universe using digital assets.

Embodiments of a media universe (MU) system are described that provide anetwork-based toolset and common repository for the digital assets of amedia universe that allows these digital media developers tocollaboratively create, manage, and share the digital assets within themedia universe. Embodiments of the media universe system may allowdigital media developers to focus on their core competencies(filmmaking, game development, etc.) without having to worry aboutmanaging their digital assets. In addition, embodiments of the mediauniverse system may enable the developers to more easily create newdigital media within the media universe by re-using digital assetscreated for other media projects or video content without having tore-create the digital assets themselves from scratch. In addition,embodiments of the media universe system may help the developers inmaintaining continuity within a media universe by providing acentralized, common source for the digital assets created for theuniverse, as well as for information about the fictional ornon-fictional world encompassed by the media universe. In at least someembodiments, an asset tracking component of the media universe systemmay maintain an asset tracking database that may, for example, be usedto track how the digital assets of the media universe relate to oneanother over time within the world of the media universe. The assettracking database and digital asset repository may serve as acentralized continuity database for the world of the media universe.Providing an accessible, scalable, network-based location for thecontinuity database may enable developers to build interactiveexperiences for users to explore the world of the media universe, bothspatially and temporally.

In at least some embodiments, the digital asset repository and assettracking database provided by the media universe system may be leveragedto provide interactive experiences with the content of the mediauniverse to customers (also referred to as clients, users, or viewers).In at least embodiments, the media universe system may allow clients,via one or more client services and client interfaces, to access digitalmedia (e.g., video such as movies, games, etc.) for display on theclients' devices. In at least some embodiments, the media universesystem may leverage network-based computation resources and services,for example a streaming service, to dynamically generate and renderdigital content (e.g., video or games) within the game universe for theclients. FIG. 12 illustrates an example MU system and environment inwhich network-based computation resources are leveraged to providereal-time, low-latency rendering and streaming of video content,according to at least some embodiments. FIG. 13A illustrates an examplenetwork-based environment in which a streaming service is used to streamrendered video to clients, according to at least some embodiments. FIG.14 illustrates an example provider network environment in whichembodiments of an MU system as described herein may be implemented. FIG.15 is a block diagram illustrating an example computer system that maybe used in some embodiments.

In some embodiments, the client services and interfaces of the mediauniverse system may allow clients to interact with video being displayedon the clients' devices, responding to the clients' interactions inreal- or near-real time to dynamically generate, render, and stream newcontent for display on the clients' devices. In some embodiments, theclient devices may include touch-enabled screens, and the clientinteractions with the video being displayed on the clients' devices maybe or may include touches and/or gestures according to touchscreentechnology. In some embodiments, the client interactions may be or mayinclude interactions according to a cursor control device, a keyboard,or other user input devices or technologies. In some embodiments, theclient interactions may be or may include voice commands or interactionsaccording to audio and voice command recognition technology of theclient device.

In some embodiments, the client services and interfaces of the mediauniverse system may allow clients to select and interact with particularobjects being displayed in videos, games, or other media on the clients'devices, responding to the clients' interactions in real- or near-realtime to dynamically generate, render, and stream new content related tothe selected objects for display on the clients' devices.

In some embodiments, the client services and interfaces of the mediauniverse system may leverage the digital asset repository and assettracking database to provide contextual information for the content ofthe media universe to customers. For example, in some embodiments, aclient may select a character or object in video being streamed to theclient's device to access information about the character or objectwithin the world of the media universe, for example a general characteror object description, history, timeline, episodes or movies that thecharacter has appeared in, events within the universe that the characteror object has been involved in, and so on. In addition, in someembodiments, the contextual information provided to the client mayinclude information on or tie-ins to products or merchandise (e.g.,other digital media, toys, books, clothing, etc.) that are related tothe selected character or object. In some embodiments, the clientservices and interfaces may provide interface methods or information forordering or otherwise obtaining the indicated products or merchandise.Other information may also be included, such as links to websites,articles, discussion groups, blogs, forums and so on that may discussthe character or object within the context of the world of the mediauniverse.

Note that, in addition to digital assets for 2D or 3D graphical elementssuch as characters and objects, the repository may also store digitalassets for audio such as music, sound effects, voice tracks, etc. Insome embodiments, in addition to providing contextual information aboutvisual elements such as characters and objects, the client services andinterfaces of the media universe system may leverage the digital assetrepository and asset tracking database (or other sources) to providecontextual information about audio elements.

In some embodiments, the client services and interfaces of the mediauniverse system may allow clients to create, customize, or modifydigital objects within the media universe, and may allow the clients tostore and access the digital objects, for example as digital assets inthe digital asset repository. In some embodiments, the media universesystem may allow clients to create or customize digital assets (e.g.,characters) within one context or digital medium (e.g., within a game),store the digital assets to the repository, and then reuse or insert theclients' digital assets in other contexts or digital media (e.g., withinother games or within videos such as movies or episodes). Note that, inaddition to digital objects, digital assets may also include audioassets such as music, sound effects, etc. In some embodiments, theclient services and interfaces of the media universe system may allowclients to create, customize, or modify audio elements for use withinvarious digital media, and to store the custom audio assets to therepository.

In some embodiments, digital media (e.g., a video or a game) beingprovided to a client may include “hooks” via which digital assets thatbelong to or that are targeted at a particular client (or at particulargroups of clients) may be inserted into the media. For example, in someembodiments, a client may create or customize one or more digital assetssuch as characters, weapons, tools, and so on. The client may thenspecify particular objects within particular digital media content(e.g., a movie) that are to be replaced with the client's digitalassets. A new, personalized version of the digital media content may berendered that includes the client's custom digital assets. In someembodiments, the personalized version of the digital media content maybe stored for later viewing by the client, and may be shared with otherclients. As another example, a client may customize a particular digitalasset used within a video (e.g., a robot that appears in one or morescenes of a movie). During playback of the video to the client's device,the client services may access the client's customized digital assets,for example from the digital asset repository, and insert the digitalassets into the video stream at an appropriate “hook”. For example, aclient's custom object or character (e.g., a custom robot) may beinserted at the location(s) of a default robot that appears in a movie.

In some embodiments, the media universe system may create and maintainidentities, profiles and preferences of at least some clients. In someembodiments, different versions of particular digital assets may bemaintained in the repository. Particular ones of the digital assets maybe matched to particular clients according to the clients' identities,profiles and/or preferences. When streaming video (movies, games, etc.)to the clients' devices, the client services may access particulardigital assets from the digital asset repository according to theclients' identities, profiles and/or preferences and insert the digitalassets in the video stream at appropriate times and locations. Forexample, a default beverage can or bottle that appears in a scene may bereplaced with a particular brand of beverage targeted at a particularclient or group of clients, a default vehicle that appears in one ormore scenes of a video or in one or more different videos may bereplaced with a particular color, make, and/or model of vehicle, and soon.

In some embodiments, video frame content may be used to define the hooksat which digital assets can be inserted into digital media. A digitalvideo frame may be composed of multiple layers that may be compositedtogether. For example, a digital video frame may include one or morealpha mask layers that may correspond to particular video content andthat may be used to insert particular objects rendered from respectivedigital assets into each frame. In some embodiments, a custom ortargeted digital asset may be rendered and dynamically inserted intoframes of the video using an alpha mask corresponding to an object inthe video that corresponds to the digital asset.

In some embodiments, the client services and interfaces of the mediauniverse system may provide, or may provide access to, a 3D printingservice via which clients may obtain physical instances of their createdor customized 3D digital assets within the game universe. For example, aclient may create a customized version of a character that may appear inat least some digital media (movies, games, etc.) of the media universe;the customized character may be stored as a digital asset (e.g., as a 3Dmodel) in the digital asset repository. As noted above, the customizedcharacter may be dynamically rendered into at least some digital mediabeing streamed to the client. In some embodiments, the client servicesand interfaces may provide interface methods via which the client canaccess a 3D printing service to order a 3D printing of the characteraccording to a 3D model of the character stored as a digital asset inthe repository. The 3D printing service may, for example, be provided byor through a service provider that implements the media universe system,and that provides the client services and interfaces of the mediauniverse system. Alternatively, a client may access a 3D printingservice via a different interface (e.g., via a direct interface to the3D printing service) and specify the client's digital asset in therepository to be printed. The 3D printing service may then access therepository to obtain the 3D model of the character for printing.

In some embodiments, the media universe system, via the client servicesand interfaces, may allow clients to interactively participate in andaffect the world of the media universe. For example, as noted above,clients may create or customize digital assets such as characters,audio, and other objects and upload those digital assets to the digitalasset repository. These created or customized digital assets may berendered or inserted into digital media and streamed to the client. Inaddition, in some embodiments, a client may selectively insertcustomized digital assets into locations within digital media using“hooks” as previously described. In some embodiments, a client's digitalassets may also be viewed or accessed by other entities, includingdigital media developers and other clients. For example, a client'sassets may be used in media content that is shared with the client'sfriends, or within a social network. The client's assets may initiallybe shared with relatively small groups, and if popular, over time may beshared with larger groups. Over time, the client's digital assets maybecome part of the “canon” of the media universe, may appear in otherdigital media within the universe, and may even evolve a storyline andhistory that may also become part of the canon. As another example,clients may be allowed to vote on or rate digital assets that are sharedwithin groups such as social networks or digital assets that are storedin the repository and exposed to the clients. Highly rated or populardigital assets may, over time, become canon, or may be noticed bydevelopers and used in new digital media based within the world of themedia universe. As another example, a digital media developer may viewthe digital assets in the repository, and may choose to use a client'scustomized digital asset(s) in digital media being developed for generalrelease to the public.

As another example of how clients may actively participate in and affectthe world of the media universe, the media universe may include variousmultiplayer games that are developed by the digital media developers andthat are set within the world of the media universe. These games mayvary from tightly scripted games to games that introduce varying amountsof randomness to the game play. A multiplayer game may, for example, bea game in which the players (via in-game characters) attempt to achievesome goal or overcome some obstacle, and may include multiple levelsthat the players have to overcome. A multiplayer game may, for example,be a game in which the players cooperate to achieve goals or overcomeobstacles, or a game in which one or more of the players compete againstone or more other players, either as teams or as individuals.Alternatively, a multiplayer game may be a game in which the players maymore passively explore and make discoveries within a complex gameuniverse based on the world of the media universe without any particulargoals in mind, or a “world-building” multiplayer game in which theplayers may actively modify their environments within the game universe.The multiplayer games may include everything from relatively simple,two-dimensional (2D) casual games to more complex 2D orthree-dimensional (3D) action or strategy games, to complex 3D massivelymultiplayer online games (MMOGs) such as massively multiplayer onlinerole-playing games (MMORPGs) that may simultaneously support hundreds orthousands of players in a persistent online “world”.

In some embodiments, the media universe system may monitor multiplayergame play, and may capture and store game session content, for exampledigital media clips or video segments of episodes or events (e.g., epicbattles) from multiplayer online games in which tens, hundreds, or eventhousands of players participate. In some embodiments, at least some ofthe game session content may be stored as digital assets in the digitalasset repository, and information about the content (e.g., a storyline,timeline, etc.) may be stored within the asset tracking database. Someof the game session content that is stored as digital assets may then beintegrated into other media within the media universe by digital mediadevelopers. For example, portions or all of an epic battle may be usedin, or adapted for use in, a book, movie or series set within the worldof the media universe. As another example, characters, objects,environments, buildings and so on that are created or modified byplayers within the game universe may be stored as digital assets to thedigital asset repository, with accompanying information stored in theasset tracking database, and may be integrated into other media withinthe media universe. Thus, storylines and events that occur in a game setwithin the MU world and that involve multiple (or single, in some cases)clients may become part of the canonical history of the world of themedia universe. In addition, characters, objects, environments, and soon that are generated within a game may be integrated into the canon ofthe media universe.

The above describes examples where a storyline, object, character,setting or event that occurs or appears within a game is integrated intoother digital media within the media universe. In some embodiments,scenarios, storylines, objects, characters, events, settings, and so onthat occur within other digital media (e.g., within a movie or episodeof a series set within the world of the media universe) may beintegrated into a game set within the world of the media universe. Forexample, digital assets including events, settings, characters, objects,and so on from a movie set within the world of the media universe may bestored to the digital asset database and recorded in the asset trackingdatabase, and may be integrated into a game set within the world of themedia universe. Clients may then play the game to, for example,participate in an event from the movie, interact with objects orcharacters from the movie, explore settings from the movie, and so on.In some embodiments, a client's interactions with or participation incontent from a movie or other digital media within a game environmentmay be stored as digital assets for the client to the digital assetrepository. When the client plays other digital media (e.g., a movie) tothe client's device, the client's digital assets may be inserted atrelevant times and into relevant places within the content of the media.For example, if a client participates in a battle from a movie as acharacter in the game environment, when later watching the movie theclient's character from the game may be inserted into the battle scenes,or snippets of fighting scenes from the game involving the client'scharacter may be inserted into the battle scene.

In some embodiments, digital assets may include audio assets such asmusic, sound effects, etc. In some embodiments, audio assets may becreated, customized, or selected by clients for use within digital mediaprovided to the client. In some embodiments, client services of themedia universe system may dynamically select particular audio (e.g.,music tracks) for particular clients, for example according to clientidentities, profiles, and/or preferences. In some embodiments, the audiomay be digital assets retrieved from the digital asset repository.Alternatively, in some embodiments, audio may be retrieved from aclient's personal audio library for insertion into video content.

While digital assets are generally described as being stored to andretrieved from a digital asset repository maintained by and within amedia universe system, in some embodiments at least some digital assetsmay be stored in and retrieved from other locations or entities. Forexample, a repository service may maintain an asset repository, and theservice may be accessed by the media universe system to store digitalassets to and/or obtain digital assets from the repository. FIG. 11shows an example repository service that may be used in embodiments. Asanother example, a client or developer may store digital assets tostorage owned or otherwise controlled by the client/developer, and themedia universe system may access digital assets from the client's ordeveloper's storage.

While embodiments of an MU system are generally described herein asgenerating two-dimensional (2D) video content for clients to bedisplayed on the clients' devices, in some embodiments the MU system mayinstead or in addition generate three-dimensional (3D) video accordingto one or more 3D video formats as output, for example 3D video that isviewable via 3D-capable displays, virtual reality (VR) goggles orheadsets, helmets, and so on.

Media Universe Content and Asset Management

Much media produced today, including but not limited to movies, shorts,cartoons, commercials, television and cable programs, and games, is atleast partially generated using two-dimensional (2D) orthree-dimensional (3D) computer graphics techniques. For example, modernanimated movies are typically generated using various 3D computergraphics techniques as implemented by various 3D graphics applicationsto generate 3D representations or models of scenes, and then applying3D-to-2D rendering techniques to render two-dimensional (2D)representations of the 3D scenes. As another example, scenes in somevideo such as movies may be generated by filming live actor(s) usinggreen- or blue-screen technology, and filling in the background and/oradding other content or effects using one or more 3D computer graphicstechniques. Large amounts of 2D or 3D graphics data may be used ingenerating and rendering scenes for video (e.g., for movies or games)according to computer graphics techniques. Note that this graphics datamay be used in 2D or 3D rendering of video content according todifferent production techniques, for example in producing fullyrendered, animated video content according to computer graphicstechniques as well as in producing partially rendered video content thatinvolves filming live action using green- or blue-screen technology andfilling in the background and/or adding other content or effects usingone or more computer graphics techniques. For a given scene, thisgraphics data may include, but is not limited to, 2D or 3D object modeldata such as object frames or shapes (e.g., wire frames), wraps for theframes, surface textures and patterns, colors, animation models, and soon, that is used to generate models of objects for the scene; generalscene information such as surfaces, vanishing points, textures, colors,lighting sources, and so on; information for global operations oreffects in the scenes such as illumination, reflection, shadows, andsimulated effects such as rain, fire, smoke, dust, and fog; and ingeneral any information or data that may be used in generating a modeledworld for the scene and in rendering 2D representations of the world(e.g., video frames) as video output. Instead of or in addition togenerating 2D video as output, three-dimensional (3D) video may berendered according to one or more 3D video formats and provided as 3Dvideo output.

Within the context of a media universe, while a given entity (e.g.,individual, corporation, media studio, etc.) may own or control contentof the world of the media universe, for example via copyright or otherintellectual property (IP) ownership, various content creators maygenerate works in various media including but not limited to movies,television shows, cartoons, anime, and games with content or storylinesset within the world of the media universe, for example under licensingor other agreements. As noted above, video content may at least bepartially generated using two-dimensional (2D) or three-dimensional (3D)computer graphics techniques, and thus using 2D or 3D graphics data. The2D and/or 3D graphics data that may be used within a media universe maybe referred to as digital assets of the media universe. Digital assetswithin a media universe may include, but are not limited to, 2D or 3Dobjects or object models, 2D or 3D environments, scenes, textures,backgrounds, etc. Note that digital assets may also include otherdigital content including but not limited to audio assets such as music,sound effects, etc. Generally speaking, a digital asset may be anydigital content that may be used in digital media. Conventionally, therehas been no easy method for content creators to collaborate and sharedigital assets for use in various works (movies, games, etc.) set withinthe world of a media universe.

Embodiments of methods and apparatus for managing and sharing digitalassets within a media universe are described. In some embodiments, adigital asset repository may be provided that contains pre-renderedobjects and/or objects that can be accessed and rendered “on the fly”(dynamically) in a virtual world rendered by a media universe (MU)system that leverages network-based computing resources and services. Insome embodiments, the repository may be implemented as or by a servicethat presents an application programming interface (API) or APIs forlocating, creating, modifying, uploading, and downloading digitalassets. The repository may allow digital media developers and clients toshare and re-use digital assets within a media universe that containsdigital media (e.g., movies, episodes, games) based within the virtualworld, and may help provide continuity of content (or “canon”) withinthe media universe. In some embodiments, the digital media may includehooks, default objects, or blanks that can be filled or replaced withdigital assets retrieved from the repository, for example to dynamicallycustomize content for particular viewers or groups of viewers or totarget content at particular viewers or groups.

FIG. 1 is a block diagram illustrating a network environment formanaging and sharing digital assets in a media universe (MU), accordingto at least some embodiments. In some embodiments, two or more digitalmedia developers 160 may cooperate to create or modify various digitalmedia 170 (e.g. movies, games, television shows, etc.) set within theworld of a media universe for consumption by MU clients 180 via variouscommunications and media channels. While not shown in FIG. 1, in someembodiments, digital media 170 may be stored by media universe system110 on provider network 100, or may be stored elsewhere on providernetwork 100, and may be accessed and viewed by clients 180 according toone or more provider network services 102. For example, one digitalmedia developer 160 may be the creator, controller or owner of theintellectual property with respect to the world of the media universeand may produce media such as movies or television series based on or inthe world of the media universe, and may through mutual agreement orlicensing allow one or more other developers 160 to produce digitalmedia 170 (e.g., games, movies, television shows, etc.) set within theworld of the media universe.

In some embodiments, a media universe (MU) system 110 may be implementedin the context of a service provider that provides virtualized resources(e.g., virtualized computing resources 120, virtualized storageresources 118, virtualized database (DB) resources 122, etc.) on aprovider network 100 to clients of the service provider. In someembodiments, the MU system 110 may be implemented on the providernetwork 100, for example as or on a virtualized private network on theprovider network 100, and may be accessed by one or more of the digitalmedia developers 160 via one or more provider network services 102, forexample to obtain, create, modify, and/or store digital media 170,digital assets, or other MU content. In some embodiments, the MU system110 may also be accessed by one or more MU clients 180 via providernetwork services 102, for example to access, create, modify, and/orstore digital assets. In some embodiments, the MU system 110 may also beaccessed by one or more other enterprises 190 via provider networkservices 102.

In some embodiments, the MU system 110 may include a digital assetrepository 116, for example implemented as or on one or more storageresources 118 according to a storage service 102 of the provider network100. In some embodiments, the MU system 110 may include an assettracking 112 component, module, or service that manages and tracksdigital assets within the media universe. The asset tracking 112component may, for example, be implemented on or by one or morecomputing resources 120 and one or more DB resources 122. Storageresources 118 and/or DB resources 122 may, for example, be implementedvia one or more storage services 102 according to one or more storagevirtualization technologies that provide flexible storage capacity ofvarious types or classes of storage to clients of the provider network.Computing resources 120 may, for example, be provisioned via one or morevirtualized computing services 102 according to hardware virtualizationtechnology that enables multiple operating systems to run concurrentlyon a host computer, i.e. as virtual machines (VMs) on the host.

In some embodiments, the MU system 110 may be accessed by digital mediadevelopers 160 via provider network services 102, for example to locate,store, retrieve, share, or otherwise manage digital assets (e.g., 2D or3D objects or object models, 2D or 3D environments, scenes, textures,backgrounds, music, sound effects, etc.) in digital asset repository116. For example, a movie developer 160 may generate digital assets foruse in a movie, and store at least some of the digital assets inrepository 116 via provider network services 102. A game developer 160may then locate and download particular ones of the digital assets fromthe repository 116 for use within a game under development.

In some embodiments, asset tracking 112 may store and manage a databasethat includes metadata about the digital assets of the media universestored in repository 116. In addition to general description information(e.g., creator, timestamp, name, type, etc.) for a given digital asset,this metadata may also include contextual, historical, relationship,dimensions, capabilities, locations, timelines, and/or other informationfor the given asset with respect to the world of the media universe thatmay be used by developers 160 to maintain continuity and “canon” withinthe media universe. As a non-limiting example, in a science fictionmedia universe, a 3D model or models of a particular spaceship may bestored in the repository 116, and asset tracking 112 may storeinformation indicating date of manufacture and date ofdestruction/decommission (if any) for the spaceship; episodes, movies,games, scenarios, actions, etc. that the spaceship has appeared in;known locations of the spaceship at various times within the MU world'stimeline; crews/captains of the spaceship at various times; and ingeneral any information that may be used by developers 160 whenselecting assets for use within the scenarios or stories underdevelopment. As another example, 2D and/or 3D models or representationsof characters within the world of the media universe may be stored inthe repository 116, and asset tracking 112 may store contextual,historical, relationship, capabilities, locations, timelines, and/orother information about the characters that may be used by developers160 when using characters within the scenarios or stories underdevelopment. In some embodiments, this asset tracking information maymore generally be accessed and used as an information source for theworld of the media universe by any developer, writer, or other creativeentity that is developing or creating works based within the world ofthe media universe.

In some embodiments, a developer 160 may update an asset tracking 112database when uploading a new asset to repository 116 or when modifyingan existing asset in repository. For example, if a developer 160 uses aparticular asset in a movie, the developer 160 may update the assettracking 112 database to indicate new information about the asset asused in the movie. For example, if the asset is a 3D model of aspaceship in a science fiction universe, and the spaceship is destroyedin the movie, then the asset tracking 112 database may be updated toindicate that the spaceship was destroyed, as well as how, when andwhere the spaceship was destroyed. Similarly, information on a charactermay be updated in the asset tracking 112 database based on thecharacter's use within a movie or within other digital media content.

In some embodiments, the MU system 110 may store digital assetsrepresenting many versions, views, or renditions of various charactersor objects within the world of the media universe in repository 116, andasset tracking 112 may maintain information describing each of thedigital assets. For example, digital assets representing variousversions of a particular spaceship in a science fiction universe may bestored in repository 116, with information in asset tracking 112describing each version. As another example, digital assets representingdifferent views of a given character in an MU world may be stored inrepository 116; for example the digital assets may show the character indifferent costumes, in different positions, at different ages, withdifferent accessories, and so on. In some embodiments, the digitalassets for a given object or character maintained in repository 116 maybe used in identifying new digital content. For example, a client 180 ordeveloper 160 may create or customize a character or object for theworld of the media universe. The media universe system 110 may providean interface via which the new digital asset may be submitted, and mayimplement digital asset evaluation technology that may examine the newasset for quality, and that may compare the new asset to digital assetsof the world of the media universe stored in the repository 116 foridentification and for maintaining continuity. The media universe system110 may, for example, identify the new digital asset as an acceptableversion or rendering of a particular known character or object withinthe world of the media universe via the examination and comparison. Thisinformation may, for example, be used in granting licensing for thedigital asset to a client 180 or developer 160, for example licensing tomanufacture physical renderings or reproductions of the digital asset,or to provide renderings or reproductions of the digital asset indigital or other media. In some cases, the media universe system 110 mayidentify a submitted digital asset as an unacceptable rendition of aknow character or object, or as unacceptable for other reasons withinthe world of the media universe, via the examination and comparison, forexample due to quality, copyright, or content issues. In these cases,licensing may be denied, the digital asset may be rejected and notstored to repository, or other actions may be taken.

In some embodiments, the MU system 110 may also be accessed by one ormore MU clients 180 via provider network services 102, for example toobtain copies of particular digital assets from repository 116 forcustomization or use in other contexts, or to upload client-createddigital assets or client-customized versions of particular digitalassets to repository. In some embodiments, the asset tracking 112database may be updated to indicate the client-created or modifieddigital assets.

In some embodiments, the asset tracking 112 database may track canonicalstatus of digital assets in repository 116. For example, digital assetsthat are well-established and well-known within the world and storylinesof the media universe may be considered (and marked) as canonical. Otherdigital assets that have been created within the media universe bydevelopers 160 or clients 180 but that are not necessarily considered tobe part of the canonical history and storylines of the universe may beconsidered non-canonical assets. In some embodiments, digital assetsthat have been created for or by particular clients 180 may beconsidered custom or personalized assets (and non-canonical as well)that are generally used only in the context of respective clients' 180views of the digital media 170 (see, e.g., FIG. 2).

Embodiments of the media universe system 110 may allow digital mediadevelopers 160 to focus on their core competencies (filmmaking, gamedevelopment, etc.) without having to worry about managing their digitalassets. In addition, embodiments of the media universe system 110 mayenable the developers 160 to more easily create new digital media 170within the media universe by re-using digital assets created for othermedia 170 projects without having to re-create the digital assetsthemselves from scratch. In addition, embodiments of the media universesystem 110 may help the developers in maintaining continuity within amedia universe by providing a centralized, common source for informationabout the world of the media universe.

While not shown in FIG. 1, in some embodiments, media universe system110 may also maintain and store other information about the world of themedia universe. As previously mentioned, an MU world may include its ownhistories, storylines, environments, locations, civilizations,characters, objects, technologies, flora, fauna, languages, rules, andso on. In some embodiments, the media universe system 110 may be used tostore database(s) including information of one or more of these aspectsof the world of the media universe. Collectively, all of the informationstored and maintained by the media universe system 110 regarding the MUworld, including the asset tracking 112 database, the digital assetrepository 116, and the database(s) or other stores or repositories ofhistories, storylines, environments, locations, civilizations,characters, objects, technologies, flora, fauna, languages, rules, etc.of the MU world may be referred to as a media universe database, or MUdatabase 300. FIGS. 3A through 3C illustrate example aspects of an MUdatabase 300, according to at least some embodiments. In at least someembodiments, the media universe system 110 and/or provider networkservices 102 may provide interfaces and methods for viewing, searching,editing, and otherwise maintaining the MU database 300.

In some embodiments, at least some MU clients 180 may be allowed accessto at least some digital assets in repository 116, and in someembodiments to at least some other content of the MU database 300.However, in some embodiments, the media universe system 110 may providemethods via which at least some portions or content of the MU database300 may be secured or hidden, and via which access to some or all of thecontent in the MU database 300 may be controlled. For example, in atleast some embodiments, at least some digital assets in repository 116may be view-only or read-only for at least some clients 180, oralternatively may be hidden from or inaccessible by at least someclients 180. For example, when one or more developers 160 are developingnew digital media 170 for the media universe, and are collaborating andsharing new digital assets via repository 116, the media universe system110 may provide methods via which these digital assets (and metadata inthe asset tracking 112 database) may be secured and hidden from thegeneral public, and only accessed by authenticated and authorized agentsof the developers 160.

In some embodiments, the MU system 110 may also be accessed by one ormore other enterprises 190 via provider network services 102.Enterprises 190 may, for example, include online merchants,manufacturers, retailers, or the like, or in general any enterprise orentity that may be interested in acquiring digital assets representingcontent (e.g., characters, objects, etc.) of the media universe, orlicensing rights to content of the media universe. An enterprise 190such as an online merchant or manufacturer may, for example, access MUsystem 110 to examine or locate digital assets using asset tracking 112,and/or to obtain usage rights including but not limited to licensingrights to manufacture physical renderings or reproductions of a selecteddigital asset or assets, or combinations of two or more componentassets, or to provide renderings or reproductions of the asset(s) indigital media or other media, or to offer the digital assets themselvesfor sale or use through retail or other channels. In some embodiments,the MU system 110 may implement a digital licensing layer that may, forexample, be used to grant potential licensors 190 permission to find andpossibly license digital assets for the production of merchandise basedon content (e.g., characters or objects) from the world of the mediauniverse.

As previously mentioned, the MU system 110 serves as a centralcontinuity database for the world of the media universe, and may providetools or methods for maintaining quality of the digital assets (e.g., 2Dor 3D models of characters, objects, or other content) in the repository116. For example, the MU system 110 may implement digital assetevaluation technology that may examine new digital assets to ensurequality, and that may compare new digital assets to existing digitalassets of the world of the media universe stored in the repository 116for identification and for maintaining continuity. Thus, via the MUsystem 110, an enterprise 190 may obtain high-quality 2D or 3D models of“canonical” characters, objects, or other content from the world of themedia universe that may be used to manufacture accurate, qualityreproductions or renderings of the content for sale or for otherpurposes.

Example Use Cases

Two or more digital media developers 160 may collaborate to develop andmarket digital media 170 (e.g., movies, games, television shows, etc.)within a media universe over a time period. These digital media 170 mayrequire the creation of a large number of 2D and/or 3D digital assets.These digital assets (e.g., characters, objects, vehicles, environments,etc.) may serve as building blocks for the digital media 170. Thedigital assets within a large media universe may number in the hundredsof thousands, or even in the millions. Conventional systems for managingdigital assets generally do not allow for easy collaboration andsharing, resulting in duplicated assets and other inefficiencies.

In embodiments, a service provider, via a provider network 100, services102, and resources (e.g., computing 120, DB 122, and storage 118resources) may provide a centralized, scalable digital asset managementtoolset and digital asset repository for building and sharing 2D and 3Ddigital assets for use in various digital media 170. A media universesystem 110 implemented on the provider network 100 may provide thetoolset and a large, scalable, centralized searchable library of digitalassets built in collaboration among the media developers 160 accordingto the toolset. This may allow for more rapid creation and collaborationon digital media 170 such as movies, video games, TV shows, animaticshorts, and interactive media. Further, hosting this large library ofdigital content on a provider network 100 may facilitate development ofother forms of network-based entertainment that leverage the services102 provided by the service provider to media universe clients 180.

Embodiments of the media universe system 110 may allow digital mediadevelopers 160 to co-author digital assets. As a result, everything fromcharacters to objects to 2D or 3D environments may be shared in a securerepository 116. For example, a game developer 160 may find the samemodel used for an object or vehicle within a movie, and re-use the modelfor a level in their game under development.

In some embodiments, an asset tracking 112 component of the mediauniverse system 110 may be used to track how all of the digital assetsrelate to one another over time within the world of the media universe.An asset tracking 112 database and digital asset repository 116,possibly in combination with other information maintained by assettracking 112 component of system 110, may serve as a centralizedcontinuity database for the world of the media universe. Providing anaccessible, scalable, network-based location for the continuity databasemay enable developers 160 to build interactive experiences for users(e.g., clients 180) to explore the world of the media universe (bothspatially and temporally).

Customizing Client Experiences within a Media Universe

Embodiments of methods and apparatus for providing interactive andcustomized experiences to customers (also referred to as clients, users,viewers, or players) of a media universe are described. Embodiments of amedia universe (MU) system may leverage network-based computationresources and services, for example a streaming service, and a digitalasset repository or repository service to dynamically provide customizedand customizable experiences to clients of a media universe. Clients maycreate or modify digital assets (e.g., 3D models of characters, objects,etc.), which may be stored to the asset repository. The MU system maydynamically render digital media content of the media universe (e.g.,movies, games, etc.) that includes the clients' custom digital assets(characters, objects, backgrounds, etc.) inserted into appropriatelocations, and stream the dynamically customized content to respectiveclient devices. Effectively, a client layer of content is overlaid on abase layer of content (e.g., a media universe database) within digitalmedia of the media universe.

FIG. 2 is a high-level illustration of a media universe (MU) system 110implemented within a provider network 100, according to at least someembodiments. Digital media developers 160 may leverage developerservices 210 to generate digital media 270 (e.g., video, movies, games,television shows, etc.) and to obtain, generate, modify, share, andmanage digital assets (e.g., 2D or 3D models of objects, characters,etc.) that may be used within digital media 270. Digital assets may, forexample, be maintained according to a digital asset repository 116 andasset tracking 112 database that are part of or maintained within amedia universe (MU) database 300 along with other MU content 114, forexample as illustrated in FIG. 1. As previously mentioned, the MU system110 may serve as a central continuity database for the world of themedia universe, and may provide tools or methods for maintaining qualityof the digital assets. Via the developer services 210, a developer 160may obtain digital assets such as high-quality, canonical 2D or 3Dmodels of characters, objects, or other content from the world of themedia universe that may be used to generate accurate, quality renderingsof the content in various digital media. In some embodiments, developerservices 210 may implement or leverage a digital asset licensing layeror service 225 that may, for example, be used to grant developers 160permission to find and possibly license digital assets for theproduction of digital media that includes or is based on content (e.g.,characters or objects) from the world of the media universe.

Digital media clients 180 may leverage client services 230 to accessparticular digital media 270 for viewing on the clients' devices.Examples of client devices may include, but are not limited to,televisions, set-top boxes coupled to video monitors or televisions,cable boxes, desktop computer systems, laptop/notebook computer systems,multifunction devices, pad/tablet devices, smartphone devices, gameconsoles, and handheld or wearable video viewing devices. Wearabledevices may include, but are not limited to, glasses or goggles,headsets, helmets, and “watches” or the like that are wearable on thewrist, arm, or elsewhere. In addition, in some embodiments, the MUsystem 110 may generate three-dimensional (3D) digital media accordingto one or more 3D digital media formats instead of or in addition to 2Ddigital media, and the client devices may include devices configured todisplay 3D digital media content instead of or in addition to 2D digitalmedia content, for example 3D glasses, virtual reality (RV) headsets,and 3D-capable display devices. An example computing device that may beused as a client device is illustrated in FIG. 15.

In some embodiments, digital media clients 180 may leverage clientservices 230 to modify existing or generate new digital assets (e.g., 2Dor 3D models of objects, characters, digital audio, etc.) that may beused within digital media 270, and/or to modify or customize existingdigital assets (e.g., 2D or 3D models of objects, characters, digitalaudio, etc.) accessed from a digital asset repository 116. While notshown in FIG. 2, in some embodiments, a design module and designinterface may be implemented on the client 180 device via which theclient may design, create, and modify digital assets (e.g., 2D or 3Dmodels of objects, characters, digital audio, etc.) for uploading to themedia universe system 110. Alternatively, in some embodiments, thedesign module may be implemented by the media universe system 110 on theprovider network 100 to leverage the computational power provided by theprovider network-based computation resources, with a design interface tothe design module on the client 180 device.

In some embodiments, the design module and interface may allow theclient 180 to specify design elements and features for custom digitalassets. In some embodiments, the design module and interface may allowthe client 180 to design or construct new digital assets from scratch,or to assemble new digital assets from other digital assets obtainedfrom the digital asset repository or from other sources. For example, insome embodiments, the digital asset repository 116 may maintain acollection of parts for objects such as robots, and a client may selectparts from the collection and assemble the parts into a custom object(e.g., robot). In some embodiments, the design module and interface mayallow the client 180 to further customize a digital asset, for exampleby painting the asset, scaling the asset up or down, applying stickersor logos to the asset, adding sound effects to the digital asset, and soon.

In some embodiments, the design module and interface may allow a client180 to obtain or capture a 2D or 3D image of the client's face (or ofother physical objects) and “wrap” digital assets in the image. Forexample, a client 180 may wrap a character's head in a 3D image of theclient's face.

In some embodiments, the media universe system 110 may provide methodsand interfaces via which a client 180 can share assets including customdigital assets with other clients 180. For example, in some embodiments,each digital asset may have metadata specifying access permissions, andthe media universe system 110 may allow a client 180 to set accesspermissions for the client 180's digital assets so that specified otherclients 180 or groups of clients 180 can access the digital assets. Insome embodiments, the interface may allow the client 180 to set specificlevels of permissions (e.g., read, write, copy, delete, etc.) forspecific assets, and/or to set specific levels of permissions (e.g.,read, write, copy, delete, etc.) for specific other clients 180. In someembodiments, the design module and interface may allow two or moreclients 180 to share digital assets, and to cooperate or collaborate inconstructing new assets from scratch, assembling new assets fromcomponent assets, and/or modifying existing digital assets via thedesign module and interface.

In some embodiments, MU system 110 may allow a client 180, via clientservices 230, to access digital media 270 (e.g., video such as movies,games, etc.) for display on the client 180's device. In someembodiments, MU system 110 may leverage network-based computationresources and services, for example a streaming service, to dynamicallyrender digital content (e.g., video or games) for streaming to clients180. In some embodiments, MU system 110 may leverage network-basedcomputation resources and services, for example a streaming service, toinsert digital assets or other digital content, for exampleclient-targeted or client-custom digital assets (models of objects,characters, avatars, etc.), into digital media content and dynamicallyrender and stream targeted or customized digital content to the clients180. For example, in some embodiments, digital media 270 (e.g., a videoor a game) being provided to a client 180 may include “hooks” via whichdigital assets, for example assets that are targeted at the particularclient 180 (or at particular groups of clients 180) or customized by theparticular client 180, may be inserted into digital media content. Insome embodiments, MU system 110 may implement graphics processing andrendering module(s) 232, for example implemented on network-basedcomputation resources provided by the provider network 100 services,that implement various graphics processing and rendering technology todynamically merge digital media content from digital media 270 withassets, asset information, and other MU content from MU database 300,and to dynamically render new digital content for streaming to theclients 180.

In some embodiments, in addition to module(s) 232 dynamically mergingdigital media content from MU database 300 with digital media contentfrom a digital media 270 source, the MU system 110 may include one ormore other components or modules that may merge, overlay, mix, orreplace digital audio content from a digital media 270 source withdigital audio content from MU database 300 (e.g., a client's customsoundtrack, sound effects, etc. that are stored as digital assets inrepository 116). In some embodiments, other types of assets or contentthan graphical and audio content may also be merged or blended by one ormore modules and provided to clients(s) 180.

In some embodiments, video frame content may be used to define the hooksat which digital assets can be inserted into digital media. A digitalvideo frame may be composed of multiple layers that are compositedtogether. For example, one or more alpha mask layers may be used toinsert particular objects rendered from respective digital assets intoeach frame. In some embodiments, a custom or targeted digital asset maybe rendered and dynamically inserted into frames of the video using analpha mask corresponding to an object in the video that corresponds tothe digital asset.

For example, a client 180 may create or customize a particular digitalasset that models an object or character that appears within a video.During playback of the video to the client 180's device, the clientservices 230 may access the client 180's digital asset from therepository and insert the digital asset in the video stream. As anon-limiting example, a client 180 may assemble a custom version of arobot that appears within the media universe from parts (digital assets)and store the custom robot as a digital asset to the digital assetrepository for the media universe. When playing back a video or playinga game that includes the particular robot or a similar robot, the clientservices 230 may get the custom robot digital asset from the repository,render video including the custom robot, and stream the rendered videoto the client 180's device. As another example, particular versions ormodels of digital assets used in digital media 270 may be determined forand targeted to particular clients 180 or groups of clients 180, forexample according to identities, profiles, and/or preferences of theclients 180 generated and maintained by the MU system 110. In someembodiments, information (e.g., preferences, viewing history, shoppinghistory, sex, age, location, and other demographic and historicalinformation) may be collected for or from clients 180 by the MU system110, or may be accessed from other information sources or providers.This information may be used to generate and maintain client profiles.The client profiles may be accessed by client services 230 according toidentities of the client(s) 180 when accessing at least some digitalmedia 270 within the media universe, and used by client services 230 todynamically and differently render one or more objects in one or morescenes that are targeted at particular clients 180 or client 180 groupsaccording to their respective profiles.

As previously noted, in some embodiments, MU system 110 may allow aclient 180 to create custom digital assets and insert the assets intodigital media. These custom digital assets may, for example, includecharacters, robots, or other entities that have a viewpoint within the3D world of the digital media into which they are inserted. In someembodiments, a client may choose to view digital media (e.g., a movie)from the viewpoint of a digital asset that the client has inserted intothe digital media (or from the viewpoint of other digital assets, e.g.characters, within the digital media). In some embodiments, the videomay be differently rendered for the client based on the viewpoint of thedigital asset and/or on the type of viewing apparatus, e.g. imagesensors or cameras, used by the digital asset. For example, a robot mayhave a black-and-white imaging system, and viewing a scene from therobot's perspective may cause the video to be rendered in grayscale.

In some embodiments, MU system 110 may allow a client 180, via clientservices 230, to pause and “step into” a scene in a video (e.g., amovie) to explore the rest of the 3D modeled world “behind the scenes”.In at least some embodiments, the MU system 110 may play back video to aclient 180, receive user input/interactions within a scene, obtaindigital assets from the digital asset repository 116 of MU system 110 inresponse to the user input/interactions exploring the scene, render newvideo content of the scene at least in part from the digital assetsobtained from the digital asset repository 116, and deliver the newlyrendered video content to the respective client 180. Thus, rather thanjust viewing a pre-rendered scene in a video, a client 180 may pause,step into and explore the scene.

Since dynamically rendering digital media 270 is computationallyexpensive, at least some embodiments of an MU system 110 may leveragenetwork-based computation resources and services (e.g., a streamingservice) to receive user input/interactions within a scene beingexplored from a client 180 device, responsively generate or update a 3Dmodel from the digital media 270 input and digital assets in response tothe user input/interactions, render new video content from the 3D model,and deliver the newly rendered video content as a video stream to theclient 180 device in real-time or near-real-time and with low latency.The computational power available through the network-based computationresources, as well as the video and audio streaming capabilitiesprovided through a streaming protocol, may allow the MU system 110 toprovide low-latency responses to the client 180's interactions with the3D world as viewed on the respective client 180 device, thus providing aresponsive and interactive exploratory experience to the user. FIG. 12illustrates an example MU system and environment in which network-basedcomputation resources are leveraged to provide real-time, low-latencyrendering and streaming of video content, according to at least someembodiments. FIG. 13A illustrates an example network-based environmentin which a streaming service is used to stream rendered video toclients, according to at least some embodiments. FIG. 14 illustrates anexample provider network environment in which embodiments of an MUsystem as described herein may be implemented. FIG. 15 is a blockdiagram illustrating an example computer system that may be used in someembodiments.

In some embodiments, one or more enterprises 190 (online merchants,manufacturers, retailers, etc.) may leverage enterprise services 220provided by the media universe system 110 to acquire digital assetsrepresenting content (e.g., characters, objects, etc.) of the mediauniverse, or licensing rights to content of the media universe. Anenterprise 190 such as an online merchant or manufacturer may, forexample, access digital assets via enterprise services 220 to examine orlocate particular digital assets, and to obtain usage rights includingbut not limited to licensing rights to manufacture physical renderingsor reproductions of a selected digital asset or assets, or combinationsof two or more component assets, or to provide renderings orreproductions of the asset(s) in digital media or other media, or tooffer the digital assets themselves for sale or use through retail orother channels.

In some embodiments, enterprise services 220 may implement or leverage adigital asset licensing layer or service 225 that may, for example, beused to grant potential licensors 190 permission to find and possiblylicense digital assets for the production of merchandise based oncontent (e.g., characters or objects) from the world of the mediauniverse. Via the enterprise services 220, an enterprise 190 may obtainhigh-quality, canonical 2D or 3D models of characters, objects, or othercontent from the world of the media universe that may be used tomanufacture accurate, quality reproductions or renderings of the contentfor sale or for other purposes.

While FIGS. 1 and 2 show digital asset repository 116 and asset tracking112 as implemented within the MU system 110 and on provider network 100,in some embodiments digital asset repository 116 and/or asset tracking112 may be implemented at least in part external to media universesystem 110 on provider network 100, or external to provider network 100on one or more other networks. For example, in some embodiments, atleast part of digital asset repository 116 may be implemented on one ormore networks of digital media developers 160.

Client-Generated Content within a Media Universe

Embodiments of methods and apparatus for generating and leveragingclient-generated content within a media universe are described.Embodiments of a media universe (MU) system may leverage network-basedcomputation resources and services, for example a streaming service, anda digital asset repository or repository service to allow clients of amedia universe to generate content, and to apply the client-generatedcontent in various digital media of the media universe. Collectively,all of the information stored and maintained by a media universe systemregarding an MU world, including but not limited to a digital assetrepository and asset tracking database as illustrated in FIGS. 1 and 2,may be referred to as a media universe database, or MU database. The MUdatabase may include a base or canon layer. In some embodiments, one ormore other layers including a client layer may be overlaid on the baselayer to help provide or enable an immersive client experience.

In some embodiments, clients may participate within the media universe,for example to create customized digital assets including characters andobjects, participate in games (e.g., MMOGs) set within the universeusing their customized digital assets, and so on. Client-generatedcontent (e.g., customized objects, events or actions within games, etc.)may be dynamically integrated into digital media based within the mediauniverse, for example by leveraging a digital asset repository orrepository service to store the client-generated content, andnetwork-based computing resources and services to dynamically insert thecontent into digital media for streaming to the clients. For example, aclient may participate as a character in a battle within a game, and amovie or episode set within the media universe may incorporate scenesfrom the battle that include the client's character and the character'sactions within the game. Client-generated content may be promoted tocanon within the MU database, for example by community (e.g., socialnetwork) voting, popularity, ratings systems, and so on. For example, aclient-designed 3D model of an object or character of the MU world maybe promoted from the client's personal layer to an intermediate layer orto the base layer of the MU database if popular, for example amongmembers of a social network. As another example, a scenario played outin a game by a community of players may be promoted to an intermediatelayer that is exposed to a wider community of players or views, and overtime may be promoted to be a canonical story or part of a canonicalstoryline within the world of the media universe, and thus may beexposed to all members of the community associated with the mediauniverse.

FIGS. 3A through 3C graphically illustrate aspects of a media universe(MU) database 300 that may be maintained within a media universe system,according to at least some embodiments. FIG. 3A illustrates examplecontent of an MU database 300, according to some embodiments. Referringto FIGS. 1 and 2, in some embodiments, media universe system 110 maymaintain and store a large collection of various information about theworld of the media universe. For example, an MU world may include itsown histories, storylines, environments, locations, civilizations,characters, objects, technologies, flora, fauna, languages, rules, andso on. As another example, works (various digital media such as movies,shows/series, books, and so on) may be associated with the mediauniverse. As another example, studios, actors, directors, writers,producers, composers, musicians, technicians and other persons orentities associated with digital media production may be associated withthe media universe. In some embodiments, the media universe system 110may be used to store database(s) or other data repositories eachincluding information for or about one or more of these aspects or otheraspects of the world of the media universe.

Collectively, all of the content, data, and information stored andmaintained by the media universe system 110 regarding the world of themedia universe, including the asset tracking 112 database, the digitalasset repository 116, and the database(s) of histories, storylines,environments, locations, civilizations, characters, objects,technologies, flora, fauna, languages, rules, works, entities, etc. ofthe world of the media universe (shown as other MU content 114 in FIG.2) may be referred to as a media universe database, or MU database 300.In some embodiments, the MU database 300 may include indications of orreferences or links to other sources of content or information about theworld of the media universe, such as websites, vendors, and so on. Insome embodiments, the media universe system 110 and/or provider networkservices 102 may provide interfaces and methods for viewing, searching,editing, and otherwise maintaining the various objects, data, andinformation in the MU database 300.

FIG. 3B illustrates correlating digital assets with other content andinformation in the MU database 300, according to some embodiments. Insome embodiments, an asset tracking 112 component, module or service asshown in FIGS. 1 and 2 may maintain asset tracking information that maybe used to associate particular digital assets or groups of assets withother MU content (e.g., particular characters or objects of the MUworld, storylines or histories, particular works (e.g., movies,episodes, etc.), particular entities (e.g., actor(s) that have portrayedor voiced a character), and in general to any other information that maybe related to a particular digital asset. In some embodiments, the MUdatabase 300 and asset tracking 112 functionality may be used inproviding contextual information to clients 180. For example, asillustrated in FIGS. 4A through 4C and 5A through 5C, a client 180 mayinteract with particular content (e.g., a particular object orcharacter) of digital media being streamed to and displayed on theclient's device to manipulate or obtain more information about thecontent. In some embodiments, the client interactions with the contentmay, for example, include touches and/or gestures according totouchscreen technology of the client device, and/or voice commands orrequests according to audio/voice technology of the client device. Theinteractions may be processed by client services 230 as illustrated inFIG. 2, which may determine an identity of the content (e.g., aparticular character or object of the world of the media universe) thatthe client 180 is interacting with and query asset tracking 112 toobtain a digital asset corresponding to the content for rendering and/orto obtain information about the particular content for display.

In some embodiments, asset tracking 112 maintains asset trackinginformation that maps particular digital assets to other MU content andvice versa. For example, asset tracking information describing various3D models of a character in the world of the media universe may includemappings to other sources of information about, or other MU contentrelated to, the character. The mappings may, for example, includeinformation indicating relationships between characters or objects ofthe MU world that are modeled by the digital assets and other MUcontent, for example other digital assets, characters, objects,locations, storylines, and so on. In addition, other MU content mayinclude mappings between various items of MU content that asset tracking112 may leverage. For example, information about a character in the MUworld may indicate actor(s) that have played or voiced the character,media (e.g., books, movies, episodes, etc.) in which the character hasappeared, other characters that are associated with or that haveappeared with the character in media, objects that are associated withor that have been used by the character. The asset tracking informationmaintained by asset tracking 112 may be updated in response to newdigital media based within the MU world. For example, new characters orobjects of the MU world may be added based on a new episode or moviebased in the MU world, and relationships of the new characters orobjects to other MU content may be established and recorded in the assettracking information. As another example, new relationships for anexisting character or object to other MU content may be determined basedon new digital media. Via the asset tracking information and themappings to other MU content that it maintains, asset tracking 112 maylocate and return particular digital assets bases on queries specifyingparticular MU content, and may locate and return particular MU contentbased on queries specifying particular digital assets or other MUcontent.

FIG. 3C graphically illustrates example layers in the MU database 300,according to a least some embodiments. A base layer 310 may include allinformation, data, assets, and so on that are accepted canon within themedia universe. A second layer 320 may include intermediate information,data, digital assets, and so on that are currently non-canonical, thatis are not accepted as canon within the universe. However, this layer320 is a common, shared layer of the database, and is not specific toany particular client. A third layer 330 represents a client's personaldata and information within the media universe, for example the client'spersonal digital assets such as customized avatars, characters, andobjects. While FIG. 3C shows three layers of content in the MU database300, some embodiments may include fewer or more layers. For example,some embodiments may implement only a base layer 310 and a client layer330, while some embodiments may implement two or more layers betweenbase layer 310 and client layer 330, for example each of theseintermediate layers may represent an increasing group size to whichdigital assets may be promoted.

In some embodiments, when a client interacts with the world of the mediauniverse through the MU system, the client sees a view of the world thathas the base layer 310 as the basis, with the intermediate layer 320overlaid on the base layer, and finally the client's personal content330 overlaid on the content of the other layers. For example, when theclient views a movie or episode within the media universe, the client'scustomized digital assets may be automatically inserted into appropriatescenes according to hooks that correspond to the digital assets. Forexample, if the client has created a custom version of a robot thatappears in the movie, the client's custom robot may be displayed inplace of the default version of the robot.

In some embodiments, two or more clients may share at least some oftheir personal, client-specific 330 content within the media universe.In these cases, a client sees a view of the world that has the baselayer 310 as the basis, with the intermediate layer 320 overlaid on thebase layer, and finally the client's personal content 330 and at leastsome of the client's friends personal content 330. When the client viewsa movie or episode within the media universe, custom digital assets thatthe client's friends have shared with the client, as well as theclient's customized digital assets, may be automatically inserted intoappropriate scenes according to hooks that correspond to the digitalassets.

Content in layers 330 and 320 may, over time and through one or moremethods, become promoted into or accepted as canon 310 within the MUdatabase 300. For example, clients may create or customize digitalassets such as characters and other objects and upload those digitalassets to the digital asset repository 116, which is part of the overallMU database 300. Initially, these assets are client-specific 330 and notcanon 310. In some embodiments, a client's digital assets may be viewedor accessed by other entities, including digital media developers andother clients. A digital media developer, or other clients, may chooseto use a client's digital assets in digital media, for example mediabeing developed by the developers for general release to the public.Over time, the client's digital assets may become part of thenon-canonical, but shared layer 320 of the MU database 300, or may beaccepted or promoted into the canon 310 within the MU database 300 ofthe media universe. The client's digital assets may appear in otherdigital media within the universe, and may even evolve a storyline andhistory that may also become part of the canon 310. As another example,in some embodiments clients may be allowed to vote on or ratenon-canonical digital assets in the repository 116, non-canonicalstorylines, and so on. Highly rated digital assets or other content maybe promoted to canon 310, or may be noticed by developers and used innew digital media based within the world of the media universe, and thusmay become part of the accepted canonical history and storyline of themedia universe and part of the canon 310 in the MU database 300.

As another example, in some embodiments, the media universe system 110may monitor multiplayer game play for games within the media universe,and may capture and store game session content, for example digitalmedia clips or video segments of episodes or events (e.g., epic battles)in which tens, hundreds, or even thousands of players participate. Insome embodiments, game session content may be stored as digital assetsin the digital asset repository 116, and information about the content(e.g., a storyline, timeline, etc.) may be stored within the assettracking database. Some of the game session content that is stored asdigital assets may then be integrated into other media within the mediauniverse by digital media developers. For example, portions or all of anepic battle may be used in, or adapted for use in, a book, movie orseries set within the world of the media universe. As another example,characters, objects, environments, buildings and so on that are createdor modified within the game universe may be stored as digital assets tothe digital asset repository, with accompanying information stored inthe asset tracking database, and may be integrated into other mediawithin the media universe. Thus, storylines and events that occur in agame set within the MU world and that involve multiple clients maybecome part of the canonical history of the world of the media universe,and part of the canon 310 of the MU database 300 as shown in FIGS. 3Athrough 3C. In addition, characters, objects, environments, and so onthat are generated within a game may be integrated into the canon 310 ofthe media universe.

Example Interactive Experiences

A non-limiting example interactive experience that may be provided toclients 180 of a media universe system 110 that leverages network-basedresources and services as illustrated in FIGS. 12 through 14 is aninteractive media system based on the media universe system 110 in whichclients 180 may interactively explore 3D environments and participate ina base storyline created by a digital media developer, with the digitalcontent rendered and streamed to the clients 180 in real-time. Thestoryline and environments may evolve and change over time in responseto client involvement and interactions. The interactive media may accessdigital assets from the digital asset repository for use in thedynamically rendered digital content.

Providing Active Content in Digital Media with a Media Universe

Embodiments of methods and apparatus for providing active content indigital media within a media universe are described. Embodiments of amedia universe (MU) system may leverage network-based computationresources and services, for example a streaming service, and a digitalasset repository or repository service to dynamically provide activecontent in digital media of the media universe streamed to the client.An asset repository may contain digital assets including but not limitedto 2D or 3D models of objects and characters used in the digital media.Client interactions with digital media content via a client interfacemay be mapped to particular objects, characters, locations, etc. withinthe media universe according to the digital assets from the repository.For example, masks used in layers when compositing and rendering thedigital media content may be mapped to digital assets in the repositorythat correspond to objects, characters, etc. within the media universe.Most or all content within a rendered scene streamed to a client devicemay thus be rendered as active content. Clients may interact with theactive content to, for example, obtain contextual information about thecorresponding objects, manipulate and explore objects, discover hiddencontent, reveal hidden storylines, order merchandise (e.g., via 3Dprinting) related to the content, etc. In some embodiments, the clientinteractions with the content may include touches and/or gesturesaccording to touchscreen technology. In some embodiments, the clientinteractions may be or may include interactions according to a cursorcontrol device, a keyboard, or other user input devices or technologies.In some embodiments, the client interactions may be or may include voicecommands or interactions according to audio and voice commandrecognition technology of the client device.

FIGS. 4A through 4C graphically illustrate a method for selectingobjects within digital media, according to at least some embodiments.FIG. 4A shows an example scene 400 from digital media (e.g., a movie)being played back to a client device, for example by a media universe(MU) system that leverages network-based resources and services asillustrated in FIGS. 12 through 14. Objects 402A through 402C have beenrendered into the scene 400 from digital assets in the digital assetrepository. Rendering an object 402 into a scene may involve generatinga mask or layer for the object 402 and compositing the rendered object402 into the scene according to the mask. The client 410 may interactwith the scene 400 via an MU client interface as shown in FIG. 13A. Forexample, the client 410 may pause the video at the scene 400, or may tapor otherwise indicate selection of an object 402 within the scene 400.As shown by the diagonally striped regions in FIG. 4B, in response tothe client 410's interaction with the scene 400, the MU system maydetermine masks for the objects 402 currently within the scene 400according to the objects' digital assets, and may make regions of thescene 400 corresponding to the objects' masks active regions or“buttons” that are client-selectable to access or interact with therespective object and its corresponding digital asset(s) and otherinformation.

In some embodiments, video frame content may be used to define the masksat which digital assets are located and which may be made into activeregions or buttons. A digital video frame may be composed of multiplelayers that are composited together. For example, one or more alpha masklayers may be used to insert particular objects rendered from respectivedigital assets into each frame. In some embodiments, alpha mask layerscorresponding to objects in the video that are rendered from particulardigital assets may be used to define the regions of a frame that aremade active and to associate those regions with particular objects ordigital assets in the repository. Once the digital assets aredetermined, information and data for the digital assets may be retrievedfrom the repository or from elsewhere in the MU database.

As shown in FIG. 4B, the client 410 has selected object 402A, in thisexample a rocket ship. As shown in FIG. 4C, in response to client 410selecting object 402A, an interface 420 may be displayed that providesinformation and options 424 for the object 402A (e.g., name,description, timeline, dimensions, capabilities, history, storylines,related objects or characters, get more info, purchase, modify,download, print, etc.), and in general any information or data that maybe relevant to the selected object 402A, and any action that may beenabled for the selected object 402A. In some embodiments, the interface420 may be wrapped in a “skin” that reflects an aspect of the world ofthe media universe, such as a period, location, design, or theme withinthe world of the media universe. For example, the skin might reflect thedesign of a spaceship's controls within a space-based science fiction MUworld.

In some embodiments, at least part of the information about the object402A may be provided from an MU database maintained by the MU system.However, in some embodiments, at least part of the information about theobject 402A may be obtained from one or more sources external to the MUsystem. In some embodiments, a graphical model 422 of the object 402Amay be dynamically rendered for the object 402A from digital asset(s)obtained from the digital asset repository and displayed. In someembodiments, the interface 420 and the MU system may allow the client410 to explore and manipulate the model 422 in various ways, for exampleby rotating, flipping, opening, and even entering an object 402A such asa rocket ship, vehicle, or building to examine the insides or componentsof the object 402A. The MU system dynamically renders and streams videoof the scene 400 including the manipulated model 422 to the client'sdevice.

In some embodiments, other objects or content in scenes of digital mediathat do not necessarily correspond to digital assets from the repositorymay also be identified and made into active regions or buttons that theclient may select to, for example, obtain information about the objectsor content. In some embodiments, alpha masks may be used to identifyregions of a scene such as background or objects that do not correspondto and that are not rendered from digital assets in the repository. Insome embodiments, these regions may also be made active regions orbuttons that the client may select. However, since these regions are notlinked to digital assets in the repository, other methods may be used toidentify objects or content corresponding to the regions and to locateinformation corresponding to the identified objects or content.

For example, in some embodiments, metadata may be attached to theframes, or to the alpha masks that are used to identify these regions,and this metadata may be used to identify the objects or content andlocate information for the objects or content within the media universe.As another example, in some embodiments, an object in a frame that doesnot correspond to, or that cannot be directly linked to, a digital assetin the repository may be extracted using the respective mask, and alibrary or corpus of digital images or objects and/or of digital imageor object information may be searched using one or more image matchingand/or object recognition techniques to identify an object or type ofobject that best matches the object from the frame, and to provideinformation about the object or type of object. In some embodiments, thedigital object may be passed to an object recognition service foridentification. In some embodiments, metadata from the digital media,frame or alpha mask may be used to guide, narrow or seed the search. Forexample, the metadata may indicate or suggest that the object is aparticular type of object (e.g., a motorcycle, or lamp, or boat), or mayindicate size, dimensions, or other relevant physical information aboutthe object. As another example, the metadata may include contextinformation for the object, for example the identity of a fictionalworld, or a setting, or a location of the object within a world orsetting (e.g., Paris, France, or a street or neighborhood, etc.), or thetime period that the content or subject of the video is set in (e.g.,the years 1900-1930), and so on.

In some embodiments, some objects or content may not be preciselyidentified. In these cases, a type or category of object or content maybe identified, and information about they type or category may bepresented to the client. In some embodiments, a list of objects or typesof content may be presented from which the client may select individualobjects to obtain additional information about.

In some embodiments, content in a scene of digital media that does notcorrespond to digital assets from the repository may include charactersor persons. In some embodiments, the characters or persons may beidentified and made into active regions or buttons that the client mayselect to, for example, obtain information about the particularcharacters or persons using one or more image matching and/or objectrecognition techniques. For example, in some embodiments, a facialrecognition technique may be used. In some embodiments, a list ofpotential identifications may be presented from which the client mayselect individuals to obtain additional information about.

Contextual Information Indexing, Access, and Interactive Integration

In some embodiments of a media universe system 110, the digital assettracking and repository system as illustrated in FIG. 1, a digital assetlicensing layer or service, and other information within the mediauniverse (MU) database may be leveraged to provide a cross-referencingsystem in which most or all of the media, merchandise, assets, and othercontent created within the media universe may be indexed. One or moreinterfaces may be provided via which clients, developers, and otherentities may browse and search the MU database 300. In addition, thecross-referencing system or index may be leveraged to provide contextualinformation about the MU world within the media universe, for example inresponse to client interactions with content as illustrated in FIGS. 4Athrough 4C.

In some embodiments, the media universe system 110 may leveragenetwork-based computation resources and services to dynamically renderthe digital content in real time, for example as illustrated in FIGS. 12through 14. For example, while watching a movie based within the MUworld, clients may pause the action and enter a virtual “movie set” orvirtual world where they can take control of the camera and explore thescene or objects within the scene. As a client explores a scene, thescene may be rendered in real-time from the client's viewpoint by theclient services 230 on the provider network 100. In some embodiments, areal-time graphics processing and rendering 232 engine provided via theclient services 230 may access digital assets from the digital assetrepository 116 to render the scene. In some embodiments, the client mayselect a character or object in the scene to discover and accessinformation, media and/or merchandise within the context of the world ofthe media universe that are linked, attached, or otherwise associatedwith the selected character or object. For example, the client maydiscover and download samples of short videos or book sections thatinclude content based in or related to the world of the media universeand that contain content concerning or related to the selected characteror object or may discover and order merchandise related to a selectedcharacter or object from the world of the media universe.

In some embodiments, the MU system 110 may provide an interface orinterfaces for the various clients (including but not limited todevelopers, MU clients, and other enterprises as illustrated in FIGS. 1and 2) to access information about the media universe and the world ofthe media universe from the MU database 300 and possibly other sourcesin two or more contexts. For example, one context may be the context ofa fictional world in which information about fictional characters,objects, storylines, other media (e.g., other films or episodes, books,short films, etc.) and so on can be explored within the media universe.Another context may be a production or “behind-the-scenes” context wherethe client can explore information about the production, direction,props, special effects, sets, and other “back lot” information aboutvideo media such as movies or series episodes. Another context may be a“real world” context in which, for example, information about actors,directors, crew, locations, and so on can be explored, including but notlimited to other movies or shows that the cast and/or crew have workedon, awards that the movie, cast, director, etc. have been nominated foror won, and so on. Another context may be a “merchandise” context inwhich a client may explore and obtain various merchandise related to thescene, character, object, or other aspect of the world of the mediauniverse.

FIGS. 5A through 5C graphically illustrate accessing contextualinformation within digital media, according to at least someembodiments. FIG. 5A shows an example scene 500 from digital media(e.g., a movie) being played back to a client device, for example by amedia universe (MU) system that leverages network-based resources andservices as illustrated in FIGS. 12 through 14. FIG. 5A also shows thata client 510 has selected an object 502 within the scene 500, forexample according to a method as illustrated in FIGS. 4A and 4B. In thisexample a character 502 that appears within the scene 500 has beenselected. In FIG. 5B, in response to client 510 selecting character 502,an interface 520 may be displayed that provides information and optionsfor the character 502 within the context of the world of the mediauniverse.

In some embodiments, the interface 520 may be wrapped in a “skin” thatreflects an aspect of the MU world, such as a period, location, design,or theme within the world of the media universe. For example, the skinmight reflect the design of a spaceship's controls within a space-basedscience fiction MU world, or a racing team's racecar design/color themewithin an MU world related to (fictional or real-world) racing. The MUcontextual information may include one or more of, but is not limitedto, the contextual name of the character, the history of the characterwithin the fictional world, various media in which the character hasappeared, actor(s) who have played or voiced the character in thevarious media, other media related to the currently viewed media thatmay be related to the character, merchandise that related to thischaracter, other characters or objects with tie-ins to this character,and so on. The information about the character 502 may be extracted fromthe MU database maintained by the MU system as described above. Theclient 510 may interact with interface 520 to further explore thedisplayed, contextual information, to navigate to other information forother digital media, digital assets, objects or characters related tothis character 502, to select and obtain merchandise related to thischaracter, and so on. In some embodiments, the client interactions withinterface 520 may include touches and/or gestures according totouchscreen technology. In some embodiments, the client interactions maybe or may include interactions according to a cursor control device, akeyboard, or other user input devices or technologies. In someembodiments, the client interactions may be or may include voicecommands or interactions according to audio and voice commandrecognition technology of the client device.

FIG. 5C shows that, in some embodiments, in response to client 510selecting character 502, an interface 520 may be displayed that providesmultiple modes or contexts in which contextual information related tothe selected character 502 may be viewed and explored. In FIG. 5C, thedifferent modes are shown as different tabs that the client 510 canselect. However, note that other user interface methods may be used toallow the client to select between modes for exploring information aboutselected characters or other objects within a scene. FIG. 5C shows as anexample that the “fictional world” context for the character 502 isselected. The “fictional world” context may show information about thecharacter 502 within the world of the media universe such as history,biography, timelines, storylines the character 502 has appeared in,other media (e.g., other films or episodes, books, short films, etc.)that the character has appeared in, and so on. Another context may be aproduction or “behind-the-scenes” context where the client can explorebehind-the-scenes information about the actor that portrays thecharacter during production. Another context may be a “real world”context in which information about the actor can be explored, includingbut not limited to other movies or shows that the actor has appeared in,awards that the actor has been nominated for or won, and so on. Anothercontext may be a “merchandise” context in which a client may explore andobtain various merchandise related to the fictional character of theworld of the media universe.

While FIGS. 5B and 5C show the interface 520 overlaid on the scene 500,in some embodiments the interface 520 may be displayed elsewhere on thescreen, on another screen, or even on another device. Also note that,while FIGS. 5A through 5C show methods for accessing contextualinformation within a media universe by selecting objects within digitalmedia content, in some embodiments other methods may be provided viawhich clients may access an interface 520 to the contextual information.

Vocal Interactions and Contextual Information

While FIGS. 4A through 4C and 5A through 5C show example clientinteractions with a scene using touches and gestures on a touch-enabledclient device, as previously mentioned, in some embodiments clientinteractions with content of a scene from digital media (e.g., a movie)being played back to a client device may be or may include voicecommands, requests, or other vocal interactions according to audio andvoice recognition technology of the client device. In some embodiments,the MU system may process vocal commands or requests to locate andprovide contextual information related to the scene content, asillustrated in FIGS. 5A through 5C. In some embodiments, the MU systemmay leverage contextual information including the context of the scenethat the client is interacting with vocally in locating contextualinformation for the client in the MU database or from other sources.

As an example, a client may voice a request or command such as “Whatkind of car is that?” or “Show me a detailed view of that car” or “Showme more information about that car” or “Where can I buy that car?” or“How fast is that car going?” Without context, these queries would behard if not impossible for a database interface to process successfully.The MU system, however, may recognize the context of the particularscene and the particular digital media that the client is viewing andinteracting with, and use that context to focus the search of the MUdatabase to vehicles that appear in that digital media and/or scene. TheMU system may then present contextual information in response to thequery and related to the correct content (e.g., the correct car thatappears in the scene), or at least information about content that isdetermined to be most likely and/or most relevant to the query accordingto the context of the scene. Note that, in some embodiments, commandsand requests may instead or in addition be entered by the client via atextual interface (e.g., a keyboard); the MU system may apply the sameor similar techniques in processing the textual queries.

Licensing Digital Assets

An entity that owns or controls intellectual property (IP) of the worldof a media universe as described herein may earn revenue throughlicensing the IP to digital media developers, merchandisers,manufacturers, clients, and so on. However, conventional methods forlicensing IP may not scale well, and thus much IP use may beunauthorized, causing considerable loss in revenue. In some embodimentsof a media universe system 110, digital asset licensing may be builtinto or on top of the digital asset tracking and repository system asillustrated in FIGS. 1 and 2, for example as a licensing 225 layer orservice as shown in FIG. 2. The digital asset licensing layer or service225 may at least in part automate the licensing process for digitalcontent. The digital asset licensing layer 225 may, for example, track,store, and maintain licensing information for digital assets in thedigital asset repository 116, and may thus serve as a central repositoryfor the licensing information. The digital asset licensing layer 225 mayprovide one or more interfaces via which the licensing information maybe accessed, searched, and updated. The digital asset licensing layer225 may, for example, be used to grant potential licensors (clients 180,developers 160, other enterprises 190 such as online merchants andmanufacturers, etc.) permission to find and possibly license digitalassets for the production of digital media or merchandise based withinthe world of the media universe. In addition to increasing revenue,improved licensing provided by the licensing layer within the mediauniverse system 110 may increase opportunities for digital mediadevelopers 160 and other entities 180 or 190 to produce products basedwithin the world of the media universe, which may result in productionof a wider selection of entertainment, movie shorts, books, comics, fanfiction that cover backstories for more characters, merchandise for awider variety of characters, and so on within the media universe.

Referring to FIG. 1, in some embodiments, digital assets for objects orcharacters within the world of the media universe may be maintained in adigital asset repository 116, and may be used in identifying andlicensing new digital content. For example, a client 180 or developer160 may create or customize a character or object for the MU world. Themedia universe system 110 may implement digital asset evaluationtechnology (not shown) that may, for example, examine the new digitalasset and compare the new asset to digital assets stored in therepository 116. The media universe system 110 may identify the newdigital asset as an acceptable version or rendering of a particularknown character or object within the world of the media universe via theexamination and comparison. Based on the examination and comparison, adigital asset licensing layer of the media universe system 110 (e.g.licensing 225 as shown in FIG. 2) may grant licensing for the digitalasset to the client 180 or developer 160, or to an enterprise 190 suchas an online merchant or manufacturer, for example licensing tomanufacture physical renderings or reproductions of the digital asset,or to provide renderings or reproductions of the asset in digital mediaor other media. In some embodiments, the licensing may be limited to acertain number of units, for example 10,000 units. In some embodiments,renderings or reproductions of a newly licensed piece of digital contentor physical item may be voted on, rated or otherwise evaluated byvarious entities, for example users within a social network. If thecontent or item is poorly rated or unpopular, the licensing may berevoked in at least some cases.

Customizable Merchandise

In some embodiments of a media universe system 110, the digital assetsstored in the digital asset tracking and repository system asillustrated in FIG. 1 may be used to market, produce, and sell custommerchandise based on content of the world of the media universe. In someembodiments, most or all of the digital assets created in the mediauniverse may be provided as a form of merchandise that a client may buy.For example, in some embodiments, the media universe system 110 mayprovide an interactive interface to the digital asset tracking andrepository system that may be used by clients to look up their favoritecharacter and how the character appeared in a particular scene of amovie, change the character's pose, and order a customized mug, t-shirt,custom 3D-printed figure, or other merchandise based on the customizedcharacter. In some embodiments, client could even build custom dioramasfrom a collection of customized characters, objects, and environmentsobtained through the customizable merchandising interface. As anotherexample, in some embodiments a client may customize a vehicle,character, or other object within a game based within the world of themedia universe, and then order a custom 3D print of the object.

Client Experience Examples

The following provides non-limiting examples of client experienceswithin a world of a media universe that may be provided via embodimentsof a media universe system 110 that includes a digital asset trackingand repository system as illustrated in FIG. 1 and that leveragesnetwork-based computation resources and services as illustrated in FIGS.12 through 14.

In some embodiments, video (e.g., a movie, short, episode, trailer,etc.) of a storyline or part of a storyline based within the world maybe streamed to clients on various client devices. A client may pause thevideo at a scene via the MU client interface. When paused, the clientmay interactively control a viewpoint or camera to move around withinthe scene. Characters and objects that are visible within the client'sview may become interactive. The client may manipulate and selectobjects via the client interface. An object may be selected to explorethe object's design, technology, and history via an overlaid interface.For some objects, such as vehicles and buildings, the client may movethe viewpoint into the object. Within such an object, a formerly hiddenscene that may be part of the storyline of the video may be revealed tothe client, with additional characters and objects that may be explored,and additional, formerly hidden parts of the story. Once within such anobject, the client may choose to resume play of the video, at whichpoint the revealed scene within the object may be played back to theclient device. Thus, the client can gain new perspectives on the action,and can discover formerly concealed conversations, actions, motivations,and other information relating to the storyline.

In embodiments, hundreds, thousands of clients may each use their clientdevice and client interface to independently and differently explore thevideo content; the MU system may leverage network-based computationresources and services as illustrated in FIGS. 12 through 14 and thedigital asset tracking and repository system as illustrated in FIG. 1 todynamically render and stream client-specific versions of the video,each based at least in part on the respective client's interactionswithin the video, to the different client devices. Thus, many clientsmay each independently and interactively experience and explore thestoryline and environment within the video, with the MU systemdynamically generating and streaming client-specific video content tothe clients' devices.

In some embodiments, when viewing a video, a client may selectindividual elements (e.g., objects or characters) within a scene toexplore the selected elements. A context-based interface may be providedwhere context-specific information about the selected element within thescene and within the context of the world of the media universe may bedisplayed or discovered. In addition, information about the scene thatcontains a selected object may be displayed or discovered via theinterface. For example, characters, objects (e.g., vehicles), props, andtrivia about the current scene may be discovered via the interface. Insome embodiments, as clients watch the video, the clients may attachcomments and likes to characters, objects, scenes, and so on within thevideo using the interactive client interface. In some embodiments, theclients' comments and likes may dynamically be shared with and displayedto other clients via the interface.

In some embodiments, an interface may be provided to clients via whichthe clients can create or customize characters or objects for the MUworld. The clients' creations may be added to the digital assetrepository as 2D or 3D object models. The MU system may leveragenetwork-based computation resources and services as illustrated in FIGS.12 through 14 and the digital asset tracking and repository system asillustrated in FIG. 1 to dynamically render and stream personalizedversions of digital media content that include the clients' creations tothe clients' respective devices. For example, a client may create acustom version of a character or object that appears in a series basedin the world of the media universe from scratch, by assembling partsobtained from the digital asset repository, or by modifying a characteror object obtained from the digital asset repository. The customizedelement(s) may be stored to the asset repository. The MU system maydynamically generate and stream personalized versions of episodes fromthe series in which the client's custom element(s) are dynamicallyrendered and inserted in place of the default versions of the element(s)that were in the original digital media.

In some embodiments, two or more clients may cooperatively andinteractively explore and customize the same digital media contentwithin the world of the media universe. For example two clients, fromthe same or from different client devices, may each create customcharacters and objects for use in the world of the media universe. Theclients may then view digital media (e.g., series episodes) based withinthe MU world into which the clients' custom characters or objects aredynamically inserted in place of default objects. Thus, one client'scustom character may be dynamically rendered into a scene of video beingviewed as one storyline character, and the client's friend's customcharacter may be dynamically rendered into the scene as anothercharacter.

In some embodiments, the MU system and client interface may allowclients to capture images of scenes within digital media content, forexample images of scenes that include the clients' customized charactersthat are dynamically rendered and inserted into the video content by theMU system. In some embodiments, the MU system and client interface mayprovide interface elements whereby the clients may order prints ofcaptured scenes onto posters, greeting cards, t-shirts, coffee mugs, andso on. In some embodiments, the MU system and client interface mayprovide interface elements whereby the clients may order athree-dimensional (3D) print of the captured scene onto a physicalobject such as a snow globe. In some embodiments, the MU system andclient interface may provide interface elements whereby the clients mayorder a physical, 3D rendering or reproduction of a customized object orcharacter, or combination of two or more objects and/or characters; forexample, a 3D printing service may use 3D printing technology togenerate a physical rendering or reproduction of a 3D modelcorresponding to a customized object or character. In some embodiments,clients may even order customized packaging for the 3D-printed physicalrendering or reproduction of the 3D model.

In some embodiments, the MU system and client interface may providemethods via which clients may create custom avatars for use within theworld of the media universe. For example, a client may be given a choicefrom a list of base avatars to start with. Once a base avatar is chosen,the client may choose clothing and accessories for the avatar. In someembodiments, the client may generate a textured 3D model of themselves,for example using a camera of a personal device and 3D model capturingand generating technology. The client-generated 3D model may then besuperimposed on the client's avatar. The client's custom avatar may besaved as part of the client's profile for use within the media universe.In some embodiments, the MU system and client interface may provideinterface elements whereby the clients may order a physical, 3Drendering or reproduction of their avatar; for example, a 3D printingservice may use 3D printing technology to generate the rendering orreproduction from a 3D model of the avatar.

In some embodiments, the MU system and client interface may integratevideo games based within the world of the media universe with the MUdatabase. For example, a game character that a client creates within agame may be linked into the MU database. As the character changes in thegame, and as the character obtains new gear in the game, the MU databaseis updated. The client may use the functionality of the MU system andclient interface as described above to, for example, order physical 3Dmodels of the game character and the characters' gear, obtain postersand other items with printed-on images of the character, insert theclient's game character into scenes of other digital media content thatthe client views, and share the game character with other clients inother contexts than the game.

In some embodiments, the MU system and client interface may allowclients to design and manufacture custom characters or objects basedwithin the world of the media universe. A digital asset licensing layerof the MU system as previously described may be used to grantappropriate licensing to the clients. For example, a client may usetheir 3D avatar or imported game character, or may select a characterfigure from an archive of existing character figures in the digitalasset repository. Once the client has chosen or designed a figure, theclient can create a custom box/packaging for it. In some embodiments, alicensing layer of the MU system may handle IP licensing for the client.The MU system and client interface may provide interface elementswhereby the clients may order a physical, 3D reproduction or renderingof their avatar; for example, a 3D printing service may use 3D printingtechnology to generate the reproduction or rendering from a 3D model ofthe avatar. The physical, 3D printed figure may be packaged in theclient-designed package, and may be delivered to the client as a custom,licensed collectable figure. The custom figure may be shared with otherclients or friends, for example via social media channels, and the otherclients may choose to order the packaged custom figure.

Immersive Interactive Experiences

A media universe system 110 that includes a digital asset tracking andrepository system as illustrated in FIG. 1 and that leveragesnetwork-based computation resources and services as illustrated in FIGS.12 through 14 may be leveraged to implement immersive interactiveexperiences for fans or other viewers of or participants in a world ofthe media universe. Interactive digital media may be implemented via themedia universe system 110 that provides interfaces to and allows clientsto explore the full content of a media universe (MU) database, includingdigital media, digital assets, storylines, history, merchandise, and soon. In addition to exploration, the interactive digital media may allowclients to participate in and even create and share content within themedia universe.

The MU database may be considered a living database of artifacts,information, and experiences within the world of the media universe. Theinteractive digital media provided through the media universe system 110allows clients to interactively explore and participate in a virtualuniverse and base storyline that may evolve or change based on theclient's interactions within the universe. As an example of a clientexperience within the virtual universe, a client may begin at a startinglocation within the MU world, and progress along a story line, exploringand learning as they go along according to information dynamicallypresented to them from within the MU database in response to theiractions within the virtual universe. A client may create or modifyobjects within the virtual universe, and may select, manipulate, and usevarious objects. As another example, scripted, computer-controlledcharacters may progress along a storyline within the virtual universe.Another client that is viewing the characters within a scene may chooseto participate by taking control of a character/camera and movingvirtually through the scene. The linear storyline may then become animmersive experience as clients uncover layers of the story and discoverhidden aspects, watching the storyline unfold from different viewpointsand exploring the virtual setting.

These real-time rendered viewing experiences may combine linearstorytelling with 3D-interactivity, providing immersive entertainmentvia the network-based computation resources and services as illustratedin FIGS. 12 through 14 that dynamically render and stream the virtualuniverse as viewed by the client in real-time at least in part using thedigital assets in the asset repository. Multiple, even thousands, ofclients may simultaneously participate in the immersive environment ofthe virtual universe, with different views and portions of the virtualuniverse and different portions of the overall storyline being renderedand streamed to different ones of the clients in real-time. In someembodiments, one or more viewers may watch the progress of one or moreclients within the virtual universe, and may even choose to step intocharacters and participate themselves. In some embodiments, a client mayrecord their personal, immersive experience or creations within thevirtual universe, and may later play back their experience as a video,or share their experiences and/or creations with others. In someembodiments, interfaces may be provided within the virtual universe viawhich participants or viewers may comment, rate, like, and share contentcreated within the virtual universe. In some embodiments, clients maycapture images of customized or personalized scenes within the virtualuniverse and share the images with others, for example using socialmedia channels.

Media Universe (MU) System Methods

FIGS. 6 through 9 are high-level flowcharts of several methods that maybe implemented in a media universe (MU) system environment asillustrated in FIGS. 1 through 5C and 10A through 15, according tovarious embodiments.

FIG. 6 is a high-level flowchart of a method for dynamically renderingand delivering targeted digital media content to clients of an MUsystem, according to at least some embodiments. As indicated at 1000,the MU system may store a plurality of digital assets related to theworld of a media universe. In some embodiments, the MU system may storethe digital assets using a repository service that includes a digitalasset repository that store a plurality of digital assets related to theworld of the media universe an asset tracking database configured totrack relationships of the digital assets to each other and to the MUworld.

As indicated at 1002, the MU system may obtain digital media contentbased in the media universe from a digital media source. For example,the digital media content may include or may be a digital film or movie,or episode(s) of a show or series, or the like. As indicated at 1004,the MU system may obtain one or more digital assets from the digitalasset repository to be inserted into the digital media content. Thedigital assets may, for example, include 2D or 3D models of charactersand objects based in the world of the media universe, digital audio,pre-rendered scenes, or in general any digital content that may beinserted into digital media. As indicated at 1006, the MU system maydetermine one or more locations in the digital media content for the oneor more digital assets. As indicated at 1008, the MU system may rendernew digital media content including the one or more digital assets. Asindicated at 1010, the MU system may send the new digital media contentincluding the one or more digital assets to one or more client devices,for example by streaming the digital media content via a streamingservice.

In some embodiments, to obtain the one or more digital assets from therepository, the MU system may identify a particular client or group ofclients associated with the one or more client devices and select theone or more digital assets to be inserted into the digital media contentaccording to the identified client or group of clients. In someembodiments, the one or more digital assets may include at least onedigital asset that was customized or created by the particular client.In some embodiments, the one or more digital assets may include at leastone digital asset that is targeted at the particular client or group ofclients according to client profiles or preferences.

In some embodiments, to obtain the one or more digital assets from therepository, the MU system may receive input from a client deviceindicating one or more client interactions with digital media content onthe client device, and provide input to the repository serviceindicating the one or more client interactions. In response, therepository service may locate the one or more digital assets in therepository according to the indicated client interactions and providethe one or more digital assets to the MU system, for example to agraphics processing and rendering module for rendering and streaming tothe client device.

In some embodiments, the repository service may also maintain mappingsbetween the digital assets and other content of the media universe;particular digital assets may be mapped to particular media universecontent. The mappings may, for example, include information indicatingrelationships between characters or objects of the MU world that aremodeled by the digital assets and other MU content, for example otherdigital assets, characters, objects, locations, storylines, and so on.For example, a digital asset corresponding to a particular character maybe mapped to other MU information about the character. In someembodiments, the repository service may be update the mappings inresponse to new digital media based within the MU world. For example,new characters or objects of the MU world may be added based on a newepisode or movie based in the MU world, and relationships of the newcharacters or objects to other MU content may be established andrecorded. As another example, new relationships for an existingcharacter or object to other MU content may be determined based on newdigital media.

In some embodiments, the repository service may receive, for examplefrom a graphics processing and rendering module of the MU system, inputindicating one or more client interactions with digital media content ona client device. In response, the repository service may determine aparticular digital asset in the repository according to the indicatedclient interactions with the digital media content, determine particularmedia universe content related to the determined digital asset accordingto the mappings, and provide the determined media universe content tothe graphics processing and rendering module of the MU system. Thegraphics processing and rendering module may then render additionaldigital media content including the determined media universe contentrelated to the determined digital asset and stream the additionaldigital media content to the client device.

FIG. 7 is a high-level flowchart of a method for dynamically renderingand delivering digital media content to a client of an MU system inresponse to client interactions with the digital media content,according to at least some embodiments. As indicated at 1100, the MUsystem may send digital media content based in the world of a mediauniverse to a client device. As indicated at 1102, the MU system mayreceive input indicating one or more client interactions with thedigital media content on the client device. As indicated at 1104, the MUsystem may obtain, from a digital asset repository or service, one ormore digital assets according to the indicated client interactions withthe digital media content. As indicated at 1106, the MU system mayrender new digital media content including the one or more digitalassets. As indicated at 1108, the MU system may send the new digitalmedia content including the one or more digital assets to the clientdevice.

FIG. 8 is a high-level flowchart of a method for implementing activeregions within digital media content and dynamically rendering anddelivering digital media content to a client of an MU system in responseto client interactions with the active regions in the digital mediacontent, according to at least some embodiments. As indicated at 1200,the MU system may send digital media content based in the world of amedia universe to a client device. As indicated at 1202, the MU systemmay determine one or more active regions in the digital media contentthat correspond to one or more of the digital assets in the repository.As indicated at 1204, the MU system may receive input indicating aclient interaction with one of the active regions in the digital mediacontent on the client device. As indicated at 1206, the MU system mayobtain a digital asset from the repository according to the indicatedclient interaction with the active region in the digital media content.As indicated at 1208, the MU system may render new digital media contentincluding information about the digital asset corresponding to theindicated active region. In some embodiments, the information includescontextual information about the digital asset within the world of themedia universe. As indicated at 1210, the MU system may send the newdigital media content including the information to the client device.

FIG. 9 is a high-level flowchart of integrating client interactions andclient-specific data and information into a media universe databaseincluding canonical data and information, according to at least someembodiments. As indicated at 1300, the MU system may maintain an MUdatabase comprising data and information related to the world of a mediauniverse. The MU database may include, but is not limited to, a baselayer that includes canonical data and information of the MU world thatis common to all clients of the MU system and a client layer thatincludes client-specific data and information for the clients of the MUsystem. As indicated at 1302, the MU system may render digital mediacontent targeted at a particular client. The digital media content mayinclude canonical data and information from the base layer of the MUdatabase overlaid with client-specific data and information from theclient layer of the MU database. As indicated at 1304, the MU system maysend the targeted digital media content to a client device of theclient. As indicated at 1306, the MU system may receive input includingclient-generated data and information from the client device. Asindicated at 1308, the MU system may update the client layer of the MUdatabase according to the received client-generated data andinformation. In some embodiments, at least some of the client-specificdata and information may be promoted from the client layer of the MUdatabase to the base layer of the MU database so that the informationbecomes canonical data and information within the media universe that isshared among all clients of the MU system.

Viewing Companion

FIGS. 10A and 10B illustrate a viewing companion application or systemthat may be used with a media universe (MU) system, according to atleast some embodiments. As shown in FIG. 10A, a digital media source2010 may stream or otherwise provide digital media content that displaysvideo 2082 to a client viewing device 2080 for viewing by one or moreclients or viewers. For example, client viewing device 2080 may be ahome entertainment system, television, computer, laptop, or pad deviceat which one or more viewers are viewing digital media content obtainedfrom a source 2010 such as streaming video from the Internet, watchingcable television, or playing video from a DVD or Blu-Ray disk. Asanother example, digital media source 2010 and client viewing device2080 may be a public movie theater at which various viewers are watchinga movie. Generally, the digital media content will include audio as wellas video, which may be broadcast via a speaker system. The digital mediacontent may, for example, be digital media based in the world of a mediauniverse hosted by a media universe system 2000. In some embodiments,the digital media content may be sourced from or accessible by mediauniverse system 2000. In some embodiments, digital media source 2010 maybe a component of or may be coupled to media universe system 2000.

One or more of the viewers of the video 2082 may possess a personaldevice 2090, for example a laptop/notebook computer system,multifunction device, pad/tablet device, smartphone device, or wearabledevice (e.g., glasses or goggles, headsets, helmets, watches, etc.). Aviewing companion 2092 application or module may be installed on aclient's personal device 2090. The viewing companion 2092 may usemicrophone technology of the device 2090 to detect the audio from thedigital media content that is broadcast by device 2080. The viewingcompanion 2092 may analyze the detected audio to determine the digitalmedia that the audio is from, and to synchronize the audio with thedigital media content. For example, the viewing companion 2092 maycommunicate with the media universe system 2000 via wirelesscommunications, and a service of the media universe system 2000 maymatch the audio to a movie based within the media universe and to aparticular scene in the movie. As shown in FIG. 10B, once themovie/scene is identified, the viewing companion 2092 may obtaincontextual information for the digital media content from the mediauniverse for display on the device 2090. The viewing companion 2092 mayalert the client that possesses the device 2090 that contextualinformation about the digital media content that the client is viewingthrough device 2080 is available on or through the device 2090 for theclient to access. In some embodiments, via the viewing companion 2092,the client may view, explore and manipulate objects from the movie,obtain additional information about characters, explore the digitalmedia content in several contextual modes as previously described, andso on.

Off-Screen Content Module

FIGS. 10C through 10E illustrate methods and apparatus for accessing,viewing and interacting with off-screen content of a 3D modeled world ina media universe system or in other video systems that allow users tointeract with and explore digital media including but not limited toonline game systems, according to at least some embodiments. Embodimentsof an off-screen content (OSC) module 2192 for personal devices 2190,including but not limited to multifunction devices, pad, tablet, andsmartphone devices, and wearable devices (e.g., glasses or goggles,headsets, helmets, watches, etc.) are described that may allow a user toview and/or interact with off-screen content of a scene being viewed orexplored on another device 2180. In some embodiments, the OSC module2190 may include, but is not limited to, components that enable a userto align or calibrate orientation of device 2190 with device 2180 and tosynchronize scene content being displayed on device 2190 with contentbeing streamed to and viewed on device 2180. In some embodiments, theOSC module 2190 may also include interfaces that allow the user tointeract with and/or participate in digital media being displayed ondevice 2180 according to the off-screen view provided on the device2190.

As shown in FIG. 10C, a digital media source 2010 may stream orotherwise provide digital media content 2112 that may be displayed asvideo including a video scene 2182 on a client viewing device 2180 forviewing by one or more clients or viewers. For example, client viewingdevice 2180 may be a home entertainment system, television, computer,laptop, or pad device at which one or more viewers are viewing digitalmedia content 2112 obtained from a source 2110 such as streaming videofrom the Internet, watching cable television, or playing video from aDVD or Blu-Ray disk. As another example, digital media source 2110 andclient viewing device 2180 may be a public movie theater at whichvarious viewers are watching a movie. The digital media content 2112may, for example, be digital media based in the world of a mediauniverse hosted by a media universe system 2100. Media universe system2100 may, for example, be an MU system as illustrated in FIG. 1, 2, 12,or 13A. In some embodiments, the digital media content 2112 may besourced from or accessible by media universe system 2100. In someembodiments, digital media source 2110 may be a component of or may becoupled to media universe system 2100.

A viewer 2199 of the video scene 2182 may possess a personal device2190, for example a laptop/notebook computer system, pad/tablet device,smartphone device, or wearable device (e.g., glasses or goggles,headsets, helmets, watches, etc.). An off-screen content (OSC) module2192 may be installed on the personal device 2190. In some embodiments,the OSC module 2192 may act or be used to synchronize the digital mediacontent 2112 being streamed to device 2180 with content on mediauniverse system 2100. In some embodiments, the OSC module 2192 mayleverage technology on device 2190 and/or on device 2180 to perform thesynchronization with the streamed content. For example, in someembodiments, device 2180 may be a media universe client, for example anMU client 2682 as illustrated in FIG. 13A, and OSC module 2192 maycommunicate with a client module (e.g., client module 2686 asillustrated in FIG. 13A) on device 2180 to synchronize with the streamedcontent. As another example, in some embodiments, the OSC module 2192may detect audio from the streamed digital media content 2112 tosynchronize with the streamed content 2112, and may communicate with themedia universe system 2100, for example via wireless communications, tosynchronize the streamed content 2112 with content on the media universesystem 2100 according to the audio. In some embodiments, the OSC module2192 may intercept or piggyback on a signal (e.g., a WIFI signal) thatcarries the digital media content 2112 to device 2180 to synchronizewith the streamed content 2112. As another example, in some embodiments,the OSC module 2192 may leverage camera, image capture, and imagerecognition and processing technology of or on device 2190 to detectvisual digital media content displayed on device 2180, analyze thevisual content, and synchronize with the streamed content 2112 accordingto the detected visual content. In some embodiments, OSC module 2192 mayprovide a user interface that enables the viewer 2199 to initiate,control, perform, and/or assist in synchronization with the streamedcontent 2112. Other methods may be used to synchronize the streamedcontent 2112 on device 2180, OSC module 2192 on device 2190, and mediauniverse system 2100.

However, in some embodiments, digital media content 2112 being streamedto device 2180 may be sourced from or through media universe system2100. For example, digital media source 2110 may be, may be a componentof, or may be coupled to media universe system 2110. In theseembodiments, synchronization of content via OSC module 2192 may not benecessary.

In some embodiments, the OSC module 2192 may leverage technology ondevice 2190 and/or on device 2180 to calibrate orientation of device2190 with device 2180. FIG. 10D graphically illustrates calibratingorientation of device 2190 with device 2180, according to someembodiments. For example, in some embodiments, device 2180 may includemotion and position sensing technology that may be set or calibrated toan orientation or used to set or calibrate device 2180 to anorientation. In some embodiments, as illustrated in FIG. 10D, the usermay simply position device 2190 so that it is oriented with device 2180(i.e., the two screens are substantially parallel and the centers of thescreens are substantially aligned.) As another example, in someembodiments, the OSC module 2192 may leverage camera technology of or ondevice 2190 to detect visual content displayed on device 2180, andcalibrate orientation with device 2180 according to the detected visualcontent. However, other methods or techniques may be used to calibrateorientation of device 2190 with device 2180. In some embodiments, OSCmodule 2192 may also obtain or track scene 2182 orientation informationwith respect to a 3D modeled world 2170 of the digital media contentbeing streamed to device 2180.

As shown in FIG. 10E, once orientation of device 2190 is calibrated withdevice 2180 and the streamed content 2112 on device 2180 is synchronized(temporally and spatially) with OSC module 2192 on device 2190 and mediauniverse system 2100, the viewer 2199 may interact with and/orparticipate in digital media (e.g., a video scene 2182) being displayedon device 2180 according to a view of off-screen content (OSC) 2194provided on the device 2190 by OSC module 2192 and media universe system2100. In some embodiments, OSC module 2192 may track and communicateorientation or position information for device 2190 with respect todevice 2180 to media universe system 2100. In some embodiments, OSCmodule 2192 may also obtain or track scene 2182 orientation informationwith respect to 3D modeled world 2170 and provide that scene tracking2182 information to media universe system 2100.

Media universe system 2100 may, for example, be an MU system asillustrated in FIG. 1, 2, 12, or 13A. Media universe system 2100 mayobtain digital assets and/or other MU content related to the 3D modeledworld 2170, generate or obtain at least a portion of the 3D modeledworld, and render at least a portion of the 3D modeled world accordingto the synchronization and orientation information being provided by OSCmodule 2192. The rendered portion corresponds to a portion of the 3Dmodeled world 2170 currently “covered” by the device 2190, as shown inFIG. 10E. Media universe system 2100 may stream the dynamically renderedoff-screen content 2102 to device 2190; OSC module 2192 may display thecontent 2102 as OSC content 2194.

Using embodiments of the OSC module 2192, a viewer may point device 2190to the side, above, below, or even behind relative to device 2180; inresponse, media universe system 2100 may dynamically render or otherwiseobtain off-screen content 2194 corresponding to the location that thedevice 2190 is being pointed at with respect to a 3D world of the videoscene 2182 currently being displayed on another device 2180, and provide(e.g., stream) the dynamically rendered off-screen content to device2190 for display. In some embodiments, in addition to allowing theviewer 2199 to view off-screen graphical content 2194, audio content ofthe scene may be provided to the viewer 2199 via device 2199; forexample, the viewer 2199 may be able to hear a conversation between twooff-screen characters that the viewer 2199 is viewing via the device2190.

Moving device 2190 may result in new off-screen content 2194 beingrendered (if necessary) and streamed by media universe system 2100according to the new information, and displayed on device 2190. Further,shifting or moving the video scene 2182 being displayed on device 2180changes the orientation of the 3D world with respect to the currentposition of device 2190. In some embodiments, this change in orientationmay be communicated to media universe system 2100, which may result innew off-screen content 2194 being rendered (if necessary) and streamedto the device 2190 by media universe system 2100 according to the newinformation, and displayed on device 2190.

In some embodiments, the OSC module 2192 may provide an interface viawhich the viewer 2199 may interact with the off-screen content of the 3Dworld of the video scene 2182 currently being displayed on device 2190to select content, manipulate content, obtain additional informationabout content, obtain contextual information about content, and so on.In some embodiments, the viewer 2199 may pause the digital media content(e.g., movie) being played to the device 2180 to step into and explorethe scene content including the on-screen and off-screen content via theuser interface on device 2190. For example, in some embodiments, aviewer 2199 may interact with particular off-screen content (e.g., aparticular object or character) of a 3D modeled world 2170 beingstreamed to and displayed on the viewer's personal device 2190, forexample as illustrated in FIGS. 4A through 4C and 5A through 5C, tomanipulate and/or obtain more information about the scene content. Insome embodiments, the interactions may be processed by client services230 as illustrated in FIG. 2, which may identify the content (e.g., aparticular character or object of the 3D modeled world 2170 based in themedia universe) that the viewer 2199 is interacting with and query assettracking 112 to obtain digital asset(s) corresponding to the content forrendering and/or to obtain information about the particular content fordisplay to the viewer 2199 via device 2190 or device 2180.

In some embodiments, the OSC module 2192 may provide an interface on theviewer 2199's device 2180 via which the viewer 2199 may modify, change,add, and/or edit scene 2182 content or events. For example, in someembodiments, the viewer 2199 may explore on-screen and off-screencontent of the scene 2182 using device 2180, may and change one or moreof lighting, viewing angle, sound track or sound effects, or otheraspects of the scene 2182 via the interface on device 2180 to change theway that that the director and film editor shot and edited the scene. Asanother example, in some embodiments, the viewer 2199 may change orotherwise manipulate objects in the scene 2182 via the OSC module 2192on device 2180 in ways that may affect the outcome of the scene 2182.For example, the viewer 2199 may discover a ship coming into a scene2182 from off-screen via the OSC module 2192, and may change the course,speed, type, or other aspects of the ship, which may impact the outcomeof the scene 2182. In some embodiments, the OSC module 2192 and MUsystem 2100 may allow the viewer 2199 to replay the scene when editingto view the edits, and may also allow the viewer 2199 to record and playback new video of the scene 2182 according to the viewer's modificationsand edits of the scene. In some embodiments, the MU system 2100 mayallow the viewer 2199 to share the custom video content with otherviewers.

In some embodiments, the OSC module 2192 may be integrated with a gamesystem, and may provide an interface via which the viewer (a gameplayer) may interact with off-screen game universe content 2194 (e.g.,game characters, other player's avatars, game objects, monsters, etc.)being dynamically rendered for and displayed on device 2190 as describedabove while the (primary) scene 2182 of the game being played isdisplayed on device 2180. For example, the interface on OSC module 2192may allow a player to view, discover and shoot at (or otherwise interactwith) game characters, other player's avatars, or other game objectsthat are to the side, above, below, or even behind the player'scharacter in the current portion of the game universe (i.e., the 3Dmodeled world 2170 of FIGS. 13D and 13E).

In some embodiments, instead of or in addition to displaying off-screencontent 2194 to client personal device 2190, the off-screen content 2194obtained via OSC module 2192 by pointing device 2190 at an off-screenlocation relative to client viewing device 2180 may be displayed onclient viewing device 2180, or on another device. The off-screen content2194 may, for example, be displayed in an overlay on video scene 2182being displayed on device 2180.

In some embodiments, two or more viewers 2199 may access, view, explore,and interact with off-screen content 2194 of a video scene 2182 beingdisplayed on a client viewing device 2180 via respective client devices2190. In some embodiments, one client device 2190 may be synchronizedand oriented with the video scene 2182 on client viewing device 2180 toaccess, view, and interact with the off-screen content 2194, and theother device(s) 2180 may receive the same content 2194 to allow therespective viewer 2199 to view and/or interact with the content 2194. Insome embodiments, each client device 2190 may be synchronized andoriented with the video scene 2182 on client viewing device 2180 to eachindependently access, view, and interact with different off-screencontent 2194.

In some embodiments, instead of or in addition to accessing anddisplaying off-screen content 2194 of a scene 2182 being displayed fromdigital media content 2112 to client personal device 2190, theoff-screen content 2194 obtained via OSC module 2192 by pointing device2190 at an off-screen location relative to client viewing device 2180may include off-set content from a production environment in which thescene content was captured. FIGS. 10F and 10G illustrate methods andapparatus for capturing and providing off-set content in a mediauniverse system, according to at least some embodiments. Referring toFIG. 10F, digital media content 2200 (e.g., video, movies, etc.) may becaptured by digitally filming a scene 2202 including actors, props, etc.in action on a set or stage, indoors or outdoors, on location or in astudio. The content of the captured scene(s) 2202 may be referred to asscene or on-set 2204 content. Camera technology (e.g., 360-degree camera2220 technology) may be used to also capture what is happening off-set2208 within the production environment 2206 when capturing on-set scenes2202 for the video. The on-set 2204 and off-set 2208 content may bestored as digital media content to a digital media source 2110.

As shown in FIG. 10G, a media universe system 2100 may render 360-degreemodeled world 2270 content for the captured digital media includingon-set 2204 and off-set 2208 content. An OSC module 2192 (not shown) ona viewer 2299's client personal device 2290 may be used to access, view,pause, explore, and interact with both on-set 2204 and off-set 2208content provided by the media universe system 2100. In some embodiments,the viewer 2299 may view scene content via client viewing device 2280.The viewer 2299's client personal device 2290 (e.g., a pad, tablet,smartphone, etc.) may be synchronized and oriented with the scenecontent on client viewing device 2280 to access, view, and possiblyinteract with off-screen content including on-set 2204 and off-set 2208content as captured during production. The viewer 2299 may orient orpoint the device 2290 towards off-screen scene 2202 content to view andinteract with the off-screen scene 2202 content, and may also orient orpoint the device 2290 towards off-set 2206, production environment 2208content to view what's going on “behind the scenes” during filming ofthe respective scene. In some embodiments, the viewer 2299 may alsointeract with the production environment 2208 content via the userinterface on device 2290. In some embodiments, the viewer 2299 may pausethe digital media content (e.g., movie) being played to the device 2280to step into and explore the scene content including the on-screen andoff-screen scene 2204 content and the off-set 2208, productionenvironment 2206 content via the user interface on device 2290. Forexample, in some embodiments, the viewer 2299 may select the director todiscover more information about the director, or may do the same forother members of the production crew, or other objects that appear inthe off-set production 2208 environment. In some embodiments, theinteractions with the production environment 2208 content may beprocessed by client services 230 as illustrated in FIG. 2, which mayidentify the content (e.g., a particular crew member, particularobjects, etc.) that the viewer 2299 is interacting with and query assettracking 112 to obtain digital asset(s) or other content correspondingto the content to obtain information about the particular productionenvironment 2208 content for display to the viewer 2299 via device 2290or device 2280.

Multi-Viewer Exploration of a Modeled World

At least some embodiments of a media universe (MU) system, for examplean MU system as illustrated in FIGS. 1 and 2, 12, or 13A, may allowmultiple viewers to actively participate in exploring digital mediacontent in real-time. FIGS. 10H through 10K graphically illustrate an MUsystem environment in which multiple viewers may participate inexploring and interacting with a modeled world dynamically rendered byan MU system and streamed to respective client devices, according to atleast some embodiments. In some embodiments, a digital media source maystream or otherwise provide digital media content that may be displayedas video including a video scene 2382 on a client viewing device 2380for viewing by one or more clients or viewers. For example, clientviewing device 2380 may be a home entertainment system, television,computer, laptop, or pad device at which one or more viewers 2399 areviewing digital media content obtained from a source such as streamingvideo from the Internet, watching cable television, or playing videofrom a DVD or Blu-Ray disk. As another example, the digital media sourceand client viewing device 2380 may be a public movie theater at whichvarious viewers are watching a movie. The digital media content may, forexample, be digital media based in the world of a media universe hostedby an MU system. The MU system may, for example, be an MU system asillustrated in FIG. 1, 2, 12, or 13A. In some embodiments, the digitalmedia content may be sourced from or accessible by the MU system. Insome embodiments, the digital media source may be a component of or maybe coupled to the MU system.

As shown in FIG. 10H, in some embodiments multiple viewers 2399 (fourviewers 2399A through 2399D, in this example) may each join in exploringscene 2382 content from digital media (e.g., a movie, or episode of aseries) based in the world of the media universe, for example via an MUclient module and MU client interface on the viewers' 2399 respectiveclient personal devices 2390A-D (e.g., pads, tablets, smartphones,multifunction devices, wearable devices such as headsets, glasses,goggles, watches, etc.) In some embodiments, for example, a viewer 2399may pause digital media (e.g., a movie) being played to a viewing device2380 at a scene 2382, and the viewer 2399 and one or more other viewers2399 may “step into” the scene 2382 to explore and interact with contentof the scene from different viewing angles. The MU system maydynamically generate and render respective views A-D of scene 2382content for each of the viewers 2399 and stream the rendered content tothe respective devices 2390. The scene 2382 content that can beexplored, interacted with, and dynamically generated, rendered, andstreamed may include on-screen, off-screen, on-set, and/or off-setcontent as previously described.

In some embodiments, each viewer 2399A-D may independently control arespective avatar 2396A-D in the scene 2382 to explore the modeled world2370 of the scene 2382 and interact with the scene 2382 content, witheach viewer's 2399 respective view A-D of the scene 2382 renderedaccording to the respective avatar 2396's viewpoint. In someembodiments, at least one viewer 2399's avatar 2396 may be a customizedavatar of the respective viewer 2399 stored as a digital asset in anasset repository or by a repository service and retrieved by the MUsystem to be dynamically rendered into the scene 2382 being explored forthe respective viewer 2399, as previously described.

As shown in FIG. 10I, each viewer's 2399 respective view of the scene2382 may be rendered according to the respective avatar 2396'sviewpoint. This example shows that viewer 2399A is viewing the scene2382 via device 2390A from the viewpoint of avatar 2396A, while viewer2399D is viewing the scene 2382 via device 2390D from the viewpoint ofavatar 2396D. Viewer 2399A can see avatars 2396B, C, and D from theviewpoint of avatar 2396A, and viewer 2399D can see avatar 2396B fromthe viewpoint of avatar 2396D. In some embodiments, a viewer 2399 maycontrol a respective avatar 2396 to view and interact with (e.g.communicate with) other viewers 2399 via the other viewers' 2399respective avatars 2396, as well as other dynamically rendered contentof the modeled world 2370. Two or more of the viewers 2399 maycooperatively explore the modeled world 2370 via their avatars 2396.

In some embodiments, the content of the modeled world 2370 and scene2382 which the viewers 2399 are exploring via their avatars 2396 may beor may include content from a movie, episode, or other digital media ofthe media universe. For example, the viewers 2399 may step into andexplore a scene from a movie based in the world of the media universe.The viewers' respective custom avatars 2396 may be retrieved by the MUsystem from an asset repository and rendered into the scene 2382. Eachviewer 2399 may control their respective avatar 2396 to view the contentof the modeled world 2370 from different viewpoints or perspectives, mayview and interact with other viewers 2399 via their avatars 2396, andmay explore and interact with content such as objects, buildings,vehicles, and so on.

In some embodiments, a viewer 2399 may capture “snapshots” or stillimages of the scene 2382 being viewed, or snapshots of the viewer'savatar 2396 within the scene 2382, or the viewers 2399 may capture grouppictures of their avatars 2396 within the scene 2382. For example,viewers 2399 may step into and explore a famous battle scene from amovie based in the world of the media universe using their respectiveavatars 2396, explore the battle scene by controlling their respectivecustom avatars 2396 to explore a modeled world 2370 generated by the MUsystem, and capture snapshots of their avatars within the scene atdifferent locations and from different viewpoints. In some embodiments,the user interface on devices 2180 may provide interface elements andmethods via which the viewers 2399 may capture the snapshots, and mayalso provide interface elements and methods via which the viewers 2399may order prints and posters of the scene 2382 with the viewers' avatars2396 in the scene 2382. In some embodiments, the user interface ondevices 2180 may also provide interface elements and methods via whichthe viewers 2399 may order 3D printings of the scene 2382 with theviewers' avatars 2396 and other content (characters, objects, etc.) ofthe media universe in the scene 2382 from a 3D printing service. In someembodiments, a viewer 2399 may instead or also capture or otherwiseobtain video clips of the scene 2382 exploration from the viewpoint ofthe viewer 2399's avatar 2396, or from one or more other viewpoints(e.g., an eagle eye viewpoint, or wide angle viewpoint).

In some embodiments, as illustrated in FIG. 10H, each viewer 2399 maycontrol movement and orientation of their respective avatar 2396 whenexploring the modeled world 2370 of the scene via controls or userinterface elements on the viewer's respective device 2390. However,instead of or in addition to controlling avatars 2396 via user controlsand interfaces on the devices 2390, in some embodiments the avatars 2396may be controlled within the virtual world by respective movements ofthe devices 2390 within the physical world. For example, in someembodiments, a viewer 2399 may point their device 2390 in a direction(up, down, left, right, etc.) to view off-screen content, as describedin reference to FIGS. 10C through 10G. As another example, in someembodiments, viewer(s) 2399 may move around with their respective clientdevices 2390 in an indoor or outdoor physical environment (e.g., a room,hangar, warehouse, theater, field, etc.), and their respective movementsmay be mapped into a virtual world of the media universe to cause theirrespective avatars 2396 to correspondingly move in the virtual world,for example as illustrated in FIGS. 10J and 10K.

FIGS. 10J and 10K illustrate one or more viewers 2399 dynamicallyexploring and interacting with a scene by physically moving respectiveclient personal devices 2390, according to some embodiments. Referringto FIG. 10J, in some embodiments, the media universe system may leveragevarious position tracking, motion detection, and/or motion sensingtechnologies to determine and track locations, orientations, andmovements of the viewers' respective devices 2390 in the physical world2360 with respect to some point or points in the virtual or modeledworld 2370, for example with respect to the client viewing device 2380or another device coupled to the client viewing device 2380, and/or withrespect to each other. In some embodiments, methods and technologies maybe leveraged to calibrate and/or orient the devices 2390 with the device2380 and/or with scene 2382, for example as was described in referenceto FIGS. 10D and 10E. In some embodiments, one or more of the devices2390 may detect relative positions with respect to one or more others ofthe devices 2390 within the modeled world 2370, and/or with respect todevice 2380 and/or scene 2380. In some embodiments, two or more of thedevices 2390 may determine respective position, location, orientationwith respect to each other, and/or movement and/or communicate position,location, orientation, and/or movement to each other. One or more of thedevices 2390 and/or device 2380 may communicate position, location,orientation, and/or movement information for the device(s) 2390 to theMU system. The MU system may dynamically move and/or change orientationof the avatars 2396 in the modeled (virtual) world 2370 and scene 2380according to the received location, orientation, and/or movementinformation, generate and render new digital media content for eachviewer 2399 according to the current or new viewpoint of the viewer2399's respective avatar 2396, and stream the newly rendered digitalmedia content to the respective viewers' devices 2390 for display.

FIG. 10J shows as an example an overhead view of two viewers 2399A and2399B moving with their respective devices 2390A and 2390B within aphysical world 2360 environment, for example a room, hall, field, etc,as well as the viewers' corresponding avatars 2396A and 2396B in anoverhead view of a modeled (virtual) world 2370. The movements of thedevices 2390A and 2390B in the physical world 2360 may be tracked withrespect to each other and/or with respect to some other point in theenvironment 2360, for example device 2380. As the devices 2390A and2390B are moved, the tracked movements may be provided to an MU system,which may, in response, correspondingly move respective avatars 2396Aand 2396B within the modeled (virtual) world 2370. The movements ofavatars 2396A and 2396B within the virtual world 2370 are reflected onthe viewers' respective devices 2390A and 2390B; each viewer 2399 sees achanging view of the virtual world 2370 from the viewpoint of theirrespective avatar 2396 as the viewer 2399 moves the respective device2390 within the physical world 2360. In some embodiments, a display ofthe scene 2382 including the avatars 2396A and 2396B may also bedisplayed on a viewing device 2380.

FIG. 10J shows as an example a graphical view of four viewers2399A-2399D moving with their respective devices 2390A-2390D within aphysical world environment, for example a room, hall, field, etc, aswell as the viewers' corresponding avatars 2396A-2396D in view of ascene 2382 in a modeled world 2370. The movements of the devices2390A-2390D in the physical world may be tracked with respect to eachother and/or with respect to some other point, for example a device2380. As respective viewers 2399A-2399D move the devices 2390A-2390D,the tracked movements may be provided to an MU system, which may, inresponse, correspondingly move respective avatars 2396A-2396D within themodeled world 2370. The movements of avatars 2396A-2396D within themodeled world 2370 are reflected on the viewers' respective devices2390A-2390D; each viewer 2399 sees a changing view of the modeled world2370 from the viewpoint of their respective avatar 2396 as the viewer2399 moves the respective device 2390 within the physical worldenvironment. In some embodiments, displaying the scene 2382 on a viewingdevice 2380 may be optional.

While FIGS. 10H through 10K show a scene 2382 being explored by viewers2399 using respective client devices 2390 while also being displayed ona viewing device 2380, in some embodiments the viewers 2399 may stepinto and explore a scene 2382 using respective client devices 2390without the scene 2382 being displayed on a separate viewing device2380. For example, one viewer 2399 may stream a movie to the viewer'srespective client device 2390, pause the movie at a scene 2382, stepinto the scene 2382, and invite one or more other viewers 2399 to stepinto the scene 2382 using their respective client devices 2390. In someembodiments, viewers 2399 may locally participate in exploring a scene2382 (e.g., within the same room), or two or more viewers 2399 mayremotely participate in exploring a scene 2382 (e.g., from differentrooms, houses, cities, or even countries).

In some embodiments, sound and camera technology of the client devices2390 may be leveraged to capture video or views of the viewers 2399,and/or the voice of the viewers 2399, during the scene 2382 exploration.For example, in some embodiments, a front-facing camera on devices 2390may be used to capture the viewers' facial expressions, and the viewers'facial gestures may be analyzed, modeled, and applied to the viewers'respective avatars 2396 when interacting with other avatars 2396 andthus with other viewers 2399. For example, when a viewer 2399 makes anangry face, the viewer's avatar 2396 may be rendered with an angry face.In some embodiments, a viewer 2399's voice may be captured by theviewer's device 2390 and output as the voice of the viewer's respectiveavatar 2396 on other client devices 2390 when interacting with otheravatars 2396 and thus with other viewers 2399.

Repository Service for Digital Assets

Embodiments of a repository service are described that may, for example,be used in or with a media universe (MU) system as described herein tomanage digital assets within a media universe. However, the repositoryservice may be used in other applications and environments. FIG. 11 is ahigh-level illustration of a repository service 2410, according to atleast some embodiments. In embodiments, digital assets (2D or 3D models,graphical objects, pre-rendered content such as difficult to renderscenes, etc.) may be stored in a digital asset repository 2412 accordingto a repository service 2410 that provides interface(s), for example anapplication programming interface (API), to other processes,applications, services, and so on (e.g., to developers 2470 and astreaming service 2430 as illustrated in FIG. 11) for storing assets toand retrieving assets from the repository 2412. In some embodiments, therepository service 2410 and repository 2412 may be implemented oncomputation and storage resources within a provider network environment.FIG. 14 illustrates an example provider network environment in whichembodiments of a repository service 2410 and repository 2412 may beimplemented. However, repository service 2410 and repository 2412 may beimplemented in other network environments in various embodiments. Insome embodiments, repository service 2410 and repository may beimplemented on separate networks. For example, repository service 2410may be implemented on a provider network 2910 as illustrated in FIG. 14,and repository 2412 may be implemented on a network external to providernetwork 2910.

Various entities including but not limited to processes, applications,services, clients, and so on (shown in FIG. 11 as developers 2470) maycreate digital assets and store the assets to the repository 2412 viathe service 2410. While not shown in FIG. 7, in some embodiments,digital assets may be created or customized at media clients 2480 anduploaded to the repository 2412 via service 2410. Various entitiesincluding but not limited to processes, applications, services, clients,and so on (e.g., developers 2470 and streaming service 2430 asillustrated in FIG. 11) may obtain assets from the repository 2142 viathe service 2410 for insertion into various modeled worlds or otherdigital media content. For example, movies, games, and so on may becustomized with digital assets that are created elsewhere and stored toand fetched from the repository 2412 via the repository service 2410.For example, developers 2470 may create new digital assets and store thedigital assets to the repository 2412 via the service 2410, and may alsofetch digital assets from the repository 2412 via the service 2410 forinsertion into digital media 2472 being developed.

In some embodiments, network-based computation resources and services ofa provider network, for example a streaming service 2430, may beleveraged to dynamically generate and render digital content (e.g.,video from movies, games, etc.) that includes content rendered at leastin part from digital assets retrieved from the repository 2412 via therepository service 2410. Streaming service 2430 may, for example, beimplemented in a provider network environment as illustrated in FIG. 14.In some embodiments, streaming service 2430 and repository service 2410may be on the same network, for example a provider network 2910 asillustrated in FIG. 14. However, in some embodiments, streaming service2430 and repository service 2410 may be on separate networks.

In some embodiments, for example, a streaming service 2430 may receivedigital media content (e.g., video) from a digital media source 2450(which may be, but is not necessarily, on a provider network) in whichdigital assets are to be inserted, retrieve the respective digitalassets from the repository 2412 via the repository service 2410, rendernew video content including the rendered digital assets, and stream thenewly rendered content to one or more media client 2480 devices. Thescalability of and computational power available through thenetwork-based computation and storage resources of the provider network,as well as the video and audio streaming capabilities provided through astreaming protocol of the streaming service 2430, may allow thestreaming service 2430 to dynamically render and stream custom digitalmedia content including targeted objects rendered from digital assetsobtained through repository service 2410 to tens, thousands, or evenmillions of clients 2480.

In some embodiments, the streaming service 2430 may fully render thevideo content before streaming the content to the media client 2480device(s). However, in some embodiments, the digital assets may bepre-rendered or rendered elsewhere and combined with the input digitalmedia content by the streaming service 2430 prior to streaming to themedia client 2480 device(s). In some embodiments, pre-rendered digitalmedia content and pre-rendered digital assets may be streamed to mediaclient 2480 device(s) and combined by a client module or process on themedia client 2480 device(s) for display.

Media client 2480 device(s) may include, but are not limited to,televisions, set-top boxes coupled to video monitors or televisions,cable boxes, desktop computer systems, laptop/notebook computer systems,pad/tablet devices, smartphone devices, game consoles, and handheld orwearable video viewing devices. Wearable devices may include, but arenot limited to, glasses or goggles headsets, helmets, and “watches” orthe like that are wearable on the wrist, arm, or elsewhere. An examplecomputing device that may be used as a client device is illustrated inFIG. 15.

In some embodiments, digital media 2472 (e.g., a video or a game) beingprovided to a client 2480 may include “hooks” via which digital assetsthat are targeted at the particular client 2480 (or at particular groupsof clients 2480) may be inserted. For example, a client 2480 ordeveloper 2470 may select, create, or customize particular digitalasset(s) for use within specified digital media such as a video, and mayspecify particular digital assets to be inserted at particular hookswithin the digital media. During playback of the video to a client2480's device, the streaming service 2430 may access the custom digitalassets from the repository 2412 via the service 2410 and insert thedigital assets in the video stream according to the specified hooks. Asa non-limiting example, a custom version of a robot may be stored as adigital asset to the digital asset repository 2412 and may be associatedwith a particular client 2480 or clients 2480. When playing back a videoor playing a game that includes a hook for the particular robot or asimilar robot, the streaming service 2430 may get the custom robotdigital asset from the repository 2412 via the service 2410, rendervideo including the custom robot, and stream the rendered video to theclient 2480's device.

As another example, particular versions or models of digital assets usedin digital media 2472 may be determined for and targeted to particularclients 2480 or groups of clients 2480, for example according toprofiles or preferences of the clients 2480. In some embodiments,information (e.g., preferences, viewing history, shopping history, sex,age, location, and other demographic and historical information) may becollected for or from clients 2480, or may be accessed from otherinformation sources, services, or providers. This information may beused to generate and maintain client profiles. The client profiles maybe accessed by streaming service 2430 according to identities of theclient(s) 2480 when accessing at least some digital media 2472 withinthe media universe, and used by streaming service 2430 to retrievetargeted digital assets from repository 2412 via service 2410 todynamically and differently render one or more objects in one or morescenes that are targeted at particular clients 2480 or client 2480groups according to their respective profiles.

While not shown in FIG. 11, in some embodiments, metadata for thedigital assets may be stored with digital assets in the repository 2412,or may be stored elsewhere. The metadata may include descriptions,dimensions, types, and so on for respective digital assets. Whenstreaming service 2430 requests a digital asset from repository service2410 according to an API of the service 2410, respective metadata may beprovided with the digital asset. The streaming service 2430 may then usethis metadata in determining how to render an object from the digitalasset for insertion into the scene at the target hook location. In somecases, other parts of a scene may have to be differently rendered (e.g.,resized) to accommodate an object rendered from a particular digitalasset.

While not shown in FIG. 11, in some embodiments, a digital assetlicensing component or layer may be implemented by the repositoryservice 2410. The digital asset licensing component or layer may, forexample, be used to grant potential licensors (clients, developers,etc.) permission to find and license digital assets from repository 2412for the production of digital media 2472, for real-time insertion intodigital media 2472 being streamed to clients 2480, and/or for generatingmerchandise based on or generated from digital assets stored in therepository 2412.

Example Network Environments

Embodiments of systems that implement one or more of the various methodsas described herein, for example an example media universe (MU) system110 as illustrated in FIGS. 1 and 2 and that implements the methods asillustrated in FIGS. 6 through 9, may be implemented in the context of aservice provider that provides virtualized resources (e.g., virtualizedcomputing resources, virtualized storage resources, virtualized database(DB) resources, etc.) on a provider network to clients of the serviceprovider, for example as illustrated in FIG. 12. Virtualized resourceinstances on the provider network 2500 may be provisioned via one ormore provider network services, and in some embodiments may be rented orleased to clients of the service provider, for example to an MU systemprovider 2590 that implements MU system 2510 on provider network 2500.At least some of the resource instances on the provider network 2500 maybe computing resources implemented according to hardware virtualizationtechnology that enables multiple operating systems to run concurrentlyon a host computer, i.e. as virtual machines (VMs) on the host. Otherresource instances (e.g., storage resources) may be implementedaccording to one or more storage virtualization technologies thatprovide flexible storage capacity of various types or classes of storageto clients of the provider network. Other resource instances (e.g.,database (DB) resources) may be implemented according to othertechnologies.

In at least some embodiments, the provider network 2500, via providernetwork services, may enable the provisioning of logically isolatedsections of the provider network 2500 to particular clients of theservice provider as client private networks on the provider network2500. At least some of a client's resources instances on the providernetwork 2500 may be provisioned in the client's private network. Forexample, in FIG. 12, MU system 2510 may be implemented as or in aprivate network implementation of an MU system provider 2590 that isprovisioned on provider network 2500 via one or more of the providernetwork services.

The provider network 2500, via provider network services, may provideflexible provisioning of resource instances to clients in whichvirtualized computing and/or storage resource instances or capacity canbe automatically added to or removed from a client's configuration onthe provider network 2500 in response to changes in demand or usage,thus enabling a client's implementation on the provider network 2500 toautomatically scale to handle computation and/or data storage needs. Forexample, one or more additional computing resources may be automaticallyadded to components or modules of MU system 2510 in response to anincrease in the number of MU clients 2582 accessing MU system 2510 tointeract with digital media of a media universe as described herein. Insome embodiments, if and when usage drops below a threshold, computingand data storage resources that are no longer necessary can be removed.

In at least some embodiments, an MU system provider 2590 (e.g., adigital media developer or developers, or other entity that controls ormanages a media universe) may access one or more provider networkservices of the provider network 2500 via application programminginterfaces (APIs) to the services (shown in FIG. 12 as developer serviceinterface 2502) to configure and manage an MU system 2510 on theprovider network 2500, the MU system 2510 including multiple virtualizedresource instances (e.g., computing resources, storage resources, DBresources, etc.).

Provider network services may include but are not limited to, one ormore hardware virtualization services for provisioning computingresource, one or more storage virtualization services for provisioningstorage resources, and one or more database (DB) services forprovisioning DB resources. In some implementations, an MU systemprovider 2590 may access two or more of these provider network servicesvia respective APIs to provision and manage respective resourceinstances in MU system 2510. However, in some implementations, MU systemprovider 2590 may instead access a single service (e.g., a streamingservice) via an API to the service; this service may then interact withone or more other provider network services on behalf of the MU systemprovider 2590 to provision the various resource instances in the MUsystem 2510.

In some embodiments, provider network services may include a streamingservice for creating, deploying, and managing data streamingapplications such as an MU system 2510 on a provider network 2500. Manyconsumer devices, such as personal computers, tables, and mobile phones,have hardware and/or software limitations that may limit the devices'capabilities to perform 3D graphics processing and rendering of videodata in real time. In at least some embodiments, a streaming service maybe used to implement, configure, and manage an MU system 2510 thatleverages computation and other resources of the provider network 2500to enable real-time, low-latency 3D graphics processing and rendering ofdigital media (e.g., movies, videos, games, etc.) on provider network2500, and that implements a client service interface 2520 (e.g., anapplication programming interface (API)) for receiving MU client 2582input and for streaming digital media content including real-timerendered video or game content as well as pre-recorded video torespective MU clients 2582. In at least some embodiments, one or moreprovider network services of the provider network 2500, for example astreaming service, may manage, for MU system provider 2590, thedeployment, scaling, load balancing, monitoring, version management, andfault detection and recovery of the server-side MU system 2510 logic,modules, components, and resource instances. Via the streaming service,the MU system 2510 can be dynamically scaled to handle computational andstorage needs, regardless of the types and capabilities of the devicesthat the MU clients 2582 are implemented on.

In at least some embodiments, at least some of the MU clients 2582 mayimplement an MU client interface 2684 and client module 2686 as shown inFIG. 13A for communicating user input and interactions to MU system 2510according to the client service interface 2520, and for receiving andprocessing video streams and other content received from the clientservice interface 2520. Referring to FIG. 13A, in at least someembodiments, the streaming service may also be leveraged to develop andbuild MU client modules 2686 and MU client interfaces 2684 for variousoperating system (OS) platforms on various types of client devices 2680(e.g., tablets, smartphones, desktop/notebook computers, etc.).

Referring again to FIG. 12, in at least some embodiments, digital mediaincluding but not limited to video content may be streamed from theclient service interface 2520 to an MU client 2582 according to astreaming protocol. In at least some embodiments, data including but notlimited to user input and interaction may be sent to the client serviceinterface 2520 from the MU client 2582 according to the streamingprotocol. In at least some embodiments, the client service interface2520 may receive digital media content (e.g., rendered video frames)from a video playback module (not shown) and/or from a rendering 2560module, package the video content according to the streaming protocol,and stream the video according to the protocol to respective MUclient(s) 2582 via intermediate network 2570. In at least someembodiments, an MU client interface 2684 of the MU client 2582 mayreceive a video stream from the client service interface 2520, extractthe video content from the streaming protocol, and forward the video toa display component of the respective client device 2680 for display.

Referring to FIG. 12, an MU system provider 2590 may develop and deployan MU system 2510, leveraging one or more of the provider networkservices to configure and provision MU system 2510. As shown in FIG. 12,the MU system 2510 may include and may be implemented as multiplefunctional modules or components, with each module or componentincluding one or more provider network resources (e.g., computingresources, storage resources, database resources, etc.). In thisexample, MU system 2510 includes a client service interface 2520component, an MU control module 2530, a graphics processing 2540 module,a graphics rendering 2560 module, and data storage that includes storageresources and database (DB) resources that implement an MU database2550. Note that an MU system 2510 may include more or fewer componentsor modules, and that a given module or component may be subdivided intotwo or more submodules or subcomponents. Also note that two or more ofthe modules or components as shown can be combined; for example,graphics processing 2540 module and rendering 2560 module may becombined to form a combined graphics processing and rendering module.

One or more computing resources may be provisioned and configured toimplement the various modules or components of the MU system 2510. Forexample client service interface 2520, MU control module 2530, graphicsprocessing 2540 module, and rendering 2560 module may each beimplemented as or on one or more computing resources. In someembodiments, two or more computing resources may be configured toimplement a given module or component. For example, two or more virtualmachine instances may implement an MU control module 2530. However, insome embodiments, an instance of a given module (e.g., an instance ofgraphics processing 2540 module, or an instance of rendering 2560module) may be implemented as or on each of two or more computingresource instances. For example, in some implementations, each computingresource instance may be a virtual machine instance that is spun up froma machine image implementing a particular module, for example a graphicsprocessing 2540 module, that is stored on storage resource(s) of theprovider network 2500.

In at least some embodiments, computing resources may be specificallyprovisioned or configured to support particular functional components ormodules of the MU system 2510. For example, computing resources ofgraphics processing 2540 module and/or computing resources of rendering2560 module may be implemented on devices that include hardware supportfor 2D and/or 3D graphics functions, for example graphics processingunits (GPUs). As another example, the computing resources in a givenmodule may be fronted by a load balancer provisioned through a providernetwork service that performs load balancing across multiple computingresource instances in the module.

In at least some embodiments, different ones of the computing resourcesof a given module may be configured to perform different functionalitiesof the module. For example, different computing resources of graphicsprocessing 2540 module and/or different computing resources of rendering2560 module may be configured to perform different 2D or 3D graphicsprocessing functions or apply different 2D or 3D graphics techniques. Inat least some embodiments, different ones of the computing resources ofgraphics processing 2540 module and/or rendering 2560 module may beconfigured with different 2D or 3D graphics applications. As an exampleof using different graphics processing functions, techniques, orapplications, when rendering objects for video content to be displayed,3D data for an object may be obtained that needs to be processedaccording to specific functions, techniques, or applications to generatea 3D model of the object and/or to render a 2D representation of theobject for display.

Storage resources and/or DB resources may be configured and provisionedfor storing, accessing, and managing MU data that collectively forms MUdatabase 2550, the MU data including but not limited to: digital media(pre-recorded video, new video content generated using MU system 2510,movies, television shows, cartoons, etc.); digital assets in a digitalasset repository (e.g., 2D and 3D data, 2D and 3D object models, andother 2D or 3D graphics data such as textures, surfaces, and effects,rendered scenes or video segments, etc.); client and client deviceinformation (e.g., client profiles, client accounts, client preferences,email addresses, network addresses, etc.); and information and datarelated to content of the MU database including but not limited to assettracking information in an asset tracking database. As noted above,storage resources may also store machine images of components or modulesof MU system 2510.

As shown in FIG. 12, in at least some embodiments, MU data and contentincluding but not limited to digital media, digital assets, and clientinformation may be accessed from and stored/provided to one or moreexternal entities 2599, which may include sources of or destinations formedia, assets, etc. external to MU system 2510 on provider network 2500or external to provider network 2500.

Example Streaming Service Implementations

FIG. 13A illustrates an example network-based MU system environment inwhich a streaming service may be used to provide rendered digital media(e.g., video and sound) to MU clients, according to at least someembodiments. In at least some embodiments, an MU environment may includean MU system 2600 and one or more client devices 2680. The MU system2600 may include or may have access to stores or other sources ofdigital media of the media universe including but not limited topre-rendered, pre-recorded video, shown as digital media source(s) 2650.In at least some embodiments, the MU system 2600 may also include orhave access to stores or other sources of data and information includingbut not limited to 2D and 3D graphics data and client information, shownas data source(s) 2660. For example, data sources 2660 may include anasset tracking database and digital asset repository as shown in FIG.12.

MU system 2600 may include a front-end client service interface 2602(e.g., an application programming interface (API)) for receiving inputfrom MU clients 2682 and streaming output to MU clients 2682, andbackend data interface(s) 2603 for storing and retrieving data includingbut not limited to game, video, object, digital asset, user/client, andother data and information as described herein. The client serviceinterface 2602 may, for example, be implemented according to a streamingservice provided by a provider network 2500 as illustrated in FIG. 12.MU system 2600 may also include digital media module(s) 2606 that may,for example, implement video playback and recording functionality,graphics processing and rendering 2608 module(s), and an MU controlmodule 2604.

In some embodiments, in response to client selection of digital mediafor playback, digital media 2606 module(s) may obtain pre-rendered,pre-recorded video from a digital media source 2650, process the videoas necessary, and stream the pre-recorded video to the respective clientdevice 2680 via client service interface 2602.

In some embodiments, a client 2682 can interactively explore the worldof the media universe by interacting with video being played back to theclient device 2680. For example, during an event in which the clientpauses a video being played back to step into and explore a scene,graphics processing and rendering 2608 module may obtain data (e.g.,digital assets) from one or more data sources 2660, generate a modeledworld for the scene according to the data, render new video from themodeled world, and stream the real-time rendered video to the respectiveclient device 2680 via client service interface 2602. In someembodiments, the newly rendered video content may be recorded by digitalmedia 2606 module(s) for later playback by or to one or more clients2682.

In some embodiments, digital media (e.g., a video or a game) beingprovided to a client 2682 may include “hooks” via which digital assetsthat belong to or that are targeted at the particular client 2682 (or atparticular groups of clients) may be inserted into the digital media.For example, in some embodiments, a client 2682 may create, customize,or modify digital assets for the media universe, and upload the customdigital assets to the MU system 2600 using the client module 2686 andinterface 2684. During playback of digital media to the client device2680, graphics processing and rendering 2608 module may obtain theclient's customized digital assets from the digital asset repository,generate a modeled world for the scene including the client's digitalassets, render new video from the modeled world, and stream thereal-time rendered video to the respective client device 2680 via clientservice interface 2602. As another example, MU system 2600 may createand maintain profiles and preferences of at least some clients 2682.Different versions of particular digital assets may be maintained in thedigital asset repository. Particular ones of the digital assets may bematched to particular clients 2682 according to the clients' profilesand/or preferences. When streaming video (movies, games, etc.) to theclient device 2680, graphics processing and rendering 2608 module mayobtain digital assets from the digital asset repository or from othersources according to the client 2682's profile or preferences, generatea modeled world for the scene including the digital assets, render newvideo from the modeled world, and stream the real-time rendered video tothe respective client device 2680 via client service interface 2602. Insome embodiments, the newly rendered video content can be recorded bydigital media 2606 module(s) for later playback by or to one or moreclients 2682.

The MU system 2600 may also include an MU control module 2604 thatreceives input and interactions from an MU client 2682 on a respectiveclient device 2680 via client service interface 2602, processes theinput and interactions, and directs operations of digital media 2606module(s) and graphics processing and rendering 2608 module accordingly.In at least some embodiments, MU control module 2604 may also trackoperations of digital media 2606 module(s). For example, MU controlmodule 104 may track playback of a given video through digital media2606 module(s) so that MU control module 2604 can determine which sceneis currently being played back to a given client 2682 or client device2680.

In at least some embodiments, an MU client device 2680 may implement astreaming service client interface as MU client interface 2684. Client2682 interactions with a video being played back to the client device2680, for example interactions via touch screen, mouse, keyboard,controller, or other technologies, may be sent from client device 2680to MU system 2600 according to the interfaces 2684 and 2602. Rather thanperforming rendering of new 3D content on the client device 2680, 3Dgraphics processing and rendering 2608 module(s) of MU system 2600 maygenerate and render new video content for digital media in real-time inresponse to the user input received from MU client 2680. Client serviceinterface 2602 may stream video content from MU system 2600 to MU client2682 according to a streaming protocol. At the client device 2680, theMU client interface 2684 receives the streamed video, extracts the videofrom the stream protocol, and provides the video to the MU client module2686, which displays the video on the client device 2680.

Example MU Rendering and Streaming Implementations

While FIG. 13A shows a single MU system 2600 and MU client 2682, in someembodiments of an MU system environment, MU system 2600 may support anynumber of MU clients 2682. In addition, in some embodiments of an MUsystem environment, two or more instances of MU system 2600 may beimplemented to support MU clients 2682. For example, in someembodiments, the MU system 2600 may be a network-based system thatleverages network-based computation and storage resources to supporttens, hundreds, thousands, or even more MU clients 2682, with manyinstances of digital media being provided to the MU clients 2682 at anygiven time. In at least some embodiments, the MU system 2600 may beimplemented according to a service provider's provider networktechnology and environment, for example as illustrated in FIGS. 12 and14, that may implement one or more services that can be leveraged todynamically and flexibly provide network-based computation and/orstorage resources for the MU system 2600 environment to supportfluctuations in demand from the user base. In at least some embodiments,to support increased demand, additional computation and/or storageresources to implement additional instances of one or more of themodules of the MU system 2600 (e.g., graphics processing and renderingmodules 2608, control modules 2604, digital media modules 2602, etc.) orother components not shown (e.g., load balancers, routers, etc.) may beallocated, configured, “spun up”, and brought on line. When demanddecreases, resources that are no longer needed can be “spun down” anddeallocated.

FIG. 13B illustrates rendering and streaming digital media content toclients via multiple MU system instances, according to some embodiments.In some embodiments, an instance 2710 of an MU system (e.g., MU system2610 as shown in FIG. 13A) that includes at least the interfaces andmodules needed to support a digital media session on a client device2780 may be allocated to or spun up for each client device 2780 thataccesses the MU system environment on a provider network 2700. Forexample, as shown in FIG. 13B, MU instances 2710A, 2710B . . . 2710 nsupport client sessions on client devices 2780A, 2780B . . . 2780 n.Each MU instance 2710 may access digital media, digital assets, or otherMU content from media and data sources 2750 to stream digital mediacontent, dynamically render new content at least in part according touser interactions with digital media content on a respective clientdevice 2780, and perform other methods or operations of an MU system asdescribed herein for the respective client device 2780.

In some embodiments, each MU instance 2710 may be instantiated on or asa single computation resource instance on provider network 2700.However, in some embodiments, two or more computation resource instancesmay implement each MU instance 2710. For example, referring to FIG. 13A,in some embodiments, an MU instance 2710 may include one or morecomputation resource instances that implement graphics processing andrendering 2608 functionality, one or more computation resource instancesthat implement digital media 2606 functionality, and one or morecomputation resource instances that implement interface and controlfunctionality 2602, 2603, and 2604.

FIGS. 13C and 13D illustrate rendering and streaming digital mediacontent for multiple clients on one MU system instance, according to atleast some embodiments. In some embodiments, an instance 2810 of an MUsystem (e.g., MU system 2610 as shown in FIG. 13A) may includeinterfaces and modules needed to support a digital media session onmultiple client devices 2880. In some embodiments, a new instance 2810may be allocated or spun up to support one, two, or more client devices2880 that access the MU system environment on provider network 2800 toaccess particular digital media, for example a particular video, movie,show, or game session. For example, as shown in FIG. 13C, MU instances2810A, 2810B . . . 2810 n may generate, render, and stream digital mediacontent 2882A, 2882B . . . 2882 n to respective groups of client devices2880A, 2880B . . . 2880 n. Each MU instance 2810 may access digitalmedia, digital assets, or other MU content from media and data sources2850 to stream digital media content, dynamically render new digitalmedia content at least in part according to user interactions withdigital media content on respective client devices 2880 in therespective groups, and perform other methods or operations of an MUsystem as described herein for the client devices 2880 in the respectivegroups.

FIG. 13D illustrates a method for rendering digital media content formultiple clients on one MU system instance, according to at least someembodiments. In some embodiments, to help provide dynamic, responsive,interactive experiences with digital media content to multiple users onmultiple client devices 2880, instead of separately generating 3D modelsfrom digital assets and other MU content and separately renderingdigital media content 2882 from the models for each client device 2880to generate separate frames of digital media content 2882 to beseparately streamed to each client device 2880, an MU instance 2810 maycombine and render digital media content 2882 for multiple clientdevices 2880 in combined digital media content frames 2883, as shown inFIG. 13D. In some embodiments, each rendered frame 2883 may be sent toeach of the client devices 2880 in a respective group. At the clientdevices 2880, a client module and interface may extract the relevantportion of the frame 2883 for display on the respective device 2880. Forexample, as shown in FIG. 13D, graphics processing and renderingmodule(s) of MU instance 2810A may combine, process, and render model(s)or other content for client devices 2880A1-2880A16 as a single frame2883. In some embodiments, the graphics processing and renderingmodule(s) may be implemented on one or more computation resources thatare specifically configured to support graphics processing andrendering, for example including graphics processing unit(s) (GPU(s))and/or other graphics processing hardware and software. In someembodiments, rendering is performed on the entire frame 2883 as a singlerendering operation or task; however, the content for each target client2880A is rendered into a separate region of the frame 2883. For example,as shown in FIG. 13D, specific digital media content for client devices2880A1-2880A16 is rendered in respective regions 2882A1-2882A16 of frame2883. In some embodiments, MU system client software and/or hardware oneach client device 2880A1-2880A16 receives frame(s) 2883, extracts therespective region 2882A, and displays the respective region 2882A on therespective device 2880A. In some embodiments, as illustrated by thearrow from client devices 2880A to MU instance 2810A, clients mayinteract with digital media content on client devices 2880A as describedin this document, for example as illustrated in FIGS. 4A through 9, theinteractions may be indicated in input received by MU instance 2810A,and the content in the regions 2882A of frame(s) 2883 may be generatedand rendered at least in part according to the interactions receivedfrom respective client devices 2880A.

Example Provider Network Environment

Embodiments of media universe (MU) systems and methods as describedherein may be implemented in the context of a service provider thatprovides resources (e.g., computing resources, storage resources,database (DB) resources, etc.) on a provider network to clients of theservice provider. FIG. 14 illustrates an example service providernetwork environment in which embodiments of MU systems may beimplemented. FIG. 14 schematically illustrates an example of a providernetwork 2910 that can provide computing and other resources to users2900 a and 2900 b (which may be referred herein singularly as user 2900or in the plural as users 2900) via user computers 2902 a and 2902 b(which may be referred herein singularly as computer 2902 or in theplural as computers 2902) via a intermediate network 2930. Providernetwork 2910 may be configured to provide the resources for executingapplications on a permanent or an as-needed basis. In at least someembodiments, resource instances may be provisioned via one or moreprovider network services 2911, and may be rented or leased to clientsof the service provider, for example to an MU system provider 2970. Atleast some of the resource instances on the provider network 2910 (e.g.,computing resources) may be implemented according to hardwarevirtualization technology that enables multiple operating systems to runconcurrently on a host computer (e.g., a host 2916), i.e. as virtualmachines (VMs) 2918 on the host.

The computing resources provided by provider network 2910 may includevarious types of resources, such as gateway resources, load balancingresources, routing resources, networking resources, computing resources,volatile and non-volatile memory resources, content delivery resources,data processing resources, data storage resources, database resources,data communication resources, data streaming resources, and the like.Each type of computing resource may be general-purpose or may beavailable in a number of specific configurations. For example, dataprocessing resources may be available as virtual machine instances thatmay be configured to provide various services. In addition, combinationsof resources may be made available via a network and may be configuredas one or more services. The instances may be configured to executeapplications, including services such as application services, mediaservices, database services, processing services, gateway services,storage services, routing services, security services, encryptionservices, load balancing services, and so on. These services may beconfigurable with set or custom applications and may be configurable insize, execution, cost, latency, type, duration, accessibility, and inany other dimension. These services may be configured as availableinfrastructure for one or more clients and can include one or moreapplications configured as a platform or as software for one or moreclients.

These services may be made available via one or more communicationsprotocols. These communications protocols may include, for example,hypertext transfer protocol (HTTP) or non-HTTP protocols. Thesecommunications protocols may also include, for example, more reliabletransport layer protocols, such as transmission control protocol (TCP),and less reliable transport layer protocols, such as user datagramprotocol (UDP). Data storage resources may include file storage devices,block storage devices and the like.

Each type or configuration of computing resource may be available indifferent sizes, such as large resources consisting of many processors,large amounts of memory and/or large storage capacity, and smallresources consisting of fewer processors, smaller amounts of memoryand/or smaller storage capacity. Customers may choose to allocate anumber of small processing resources as web servers and/or one largeprocessing resource as a database server, for example.

Provider network 2910 may include hosts 2916 a and 2916 b (which may bereferred herein singularly as host 2916 or in the plural as hosts 2916)that provide computing resources. These resources may be available asbare metal resources or as virtual machine instances 2918 a-d (which maybe referred herein singularly as virtual machine instance 2918 or in theplural as virtual machine instances 2918). Virtual machine instances2918 c and 2918 d are shared state virtual machine (“SSVM”) instances.The SSVM virtual machine instances 2918 c and 2918 d may be configuredto perform all or any portion of the media universe (MU) system andmethods as described herein. As should be appreciated, while theparticular example illustrated in FIG. 14 includes one SSVM 2918 virtualmachine in each host, this is merely an example. A host 2916 may includemore than one SSVM 2918 virtual machine or may not include any SSVM 2918virtual machines.

The availability of virtualization technologies for computing hardwarehas afforded benefits for providing large scale computing resources forcustomers and allowing computing resources to be efficiently andsecurely shared between multiple customers. For example, virtualizationtechnologies may allow a physical computing device to be shared amongmultiple users by providing each user with one or more virtual machineinstances hosted by the physical computing device. A virtual machineinstance may be a software emulation of a particular physical computingsystem that acts as a distinct logical computing system. Such a virtualmachine instance provides isolation among multiple operating systemssharing a given physical computing resource. Furthermore, somevirtualization technologies may provide virtual resources that span oneor more physical resources, such as a single virtual machine instancewith multiple virtual processors that span multiple distinct physicalcomputing systems.

Referring to FIG. 14, intermediate network 2930 may, for example, be apublicly accessible network of linked networks and possibly operated byvarious distinct parties, such as the Internet. In other embodiments,intermediate network 2930 may be a local and/or restricted network, suchas a corporate or university network that is wholly or partiallyinaccessible to non-privileged users. In still other embodiments,intermediate network 2930 may include one or more local networks withaccess to and/or from the Internet.

Intermediate network 2930 may provide access to one or more clientdevices 2902. User computers 2902 may be computing devices utilized byusers 2900 or other customers of provider network 2910. For instance,user computer 2902 a or 2902 b may be a server, a desktop or laptoppersonal computer, a tablet computer, a wireless telephone, a personaldigital assistant (PDA), an e-book reader, a game console, a set-top boxor any other computing device capable of accessing provider network 2910via wired and/or wireless communications and protocols. In someinstances, a user computer 2902 a or 2902 b may connect directly to theInternet (e.g., via a cable modem or a Digital Subscriber Line (DSL)).Although only two user computers 2902 a and 2902 b are depicted, itshould be appreciated that there may be multiple user computers.

User computers 2902 may also be utilized to configure aspects of thecomputing, storage, and other resources provided by provider network2910 via provider network services 2911. In this regard, providernetwork 2910 might provide a gateway or web interface through whichaspects of its operation may be configured through the use of a webbrowser application program executing on a user computer 2902.Alternatively, a stand-alone application program executing on a usercomputer 2902 might access an application programming interface (API)exposed by a service 2911 of provider network 2910 for performing theconfiguration operations. Other mechanisms for configuring the operationof various resources available at provider network 2910 might also beutilized.

Hosts 2916 shown in FIG. 14 may be standard host devices configuredappropriately for providing the computing resources described above andmay provide computing resources for executing one or more servicesand/or applications. In one embodiment, the computing resources may bevirtual machine instances 2918. In the example of virtual machineinstances, each of the hosts 2916 may be configured to execute aninstance manager 2920 a or 2920 b (which may be referred hereinsingularly as instance manager 2920 or in the plural as instancemanagers 2920) capable of executing the virtual machine instances 2918.An instance manager 2920 may be a hypervisor or virtual machine monitor(VMM) or another type of program configured to enable the execution ofvirtual machine instances 2918 on a host 2916, for example. As discussedabove, each of the virtual machine instances 2918 may be configured toexecute all or a portion of an application or service.

In the example provider network 2910 shown in FIG. 14, a router 2914 maybe utilized to interconnect the hosts 2916 a and 2916 b. Router 2914 mayalso be connected to gateway 2940, which is connected to intermediatenetwork 2930. Router 2914 may be connected to one or more loadbalancers, and alone or in combination may manage communications withinprovider network 2910, for example, by forwarding packets or other datacommunications as appropriate based on characteristics of suchcommunications (e.g., header information including source and/ordestination addresses, protocol identifiers, size, processingrequirements, etc.) and/or the characteristics of the network (e.g.,routes based on network topology, subnetworks or partitions, etc.). Itwill be appreciated that, for the sake of simplicity, various aspects ofthe computing systems and other devices of this example are illustratedwithout showing certain conventional details. Additional computingsystems and other devices may be interconnected in other embodiments andmay be interconnected in different ways.

In the example provider network 2910 shown in FIG. 14, a host manager2915 may also be employed to at least in part direct variouscommunications to, from and/or between hosts 2916 a and 2916 b. WhileFIG. 14 depicts router 2914 positioned between gateway 2940 and hostmanager 2915, this is given as an example configuration and is notintended to be limiting. In some cases, for example, host manager 2915may be positioned between gateway 2940 and router 2914. Host manager2915 may, in some cases, examine portions of incoming communicationsfrom user computers 2902 to determine one or more appropriate hosts 2916to receive and/or process the incoming communications. Host manager 2915may determine appropriate hosts to receive and/or process the incomingcommunications based on factors such as an identity, location or otherattributes associated with user computers 2902, a nature of a task withwhich the communications are associated, a priority of a task with whichthe communications are associated, a duration of a task with which thecommunications are associated, a size and/or estimated resource usage ofa task with which the communications are associated and many otherfactors. Host manager 2915 may, for example, collect or otherwise haveaccess to state information and other information associated withvarious tasks in order to, for example, assist in managingcommunications and other operations associated with such tasks.

It should be appreciated that the network topology illustrated in FIG.14 has been greatly simplified and that many more networks andnetworking devices may be utilized to interconnect the various computingsystems disclosed herein. These network topologies and devices should beapparent to those skilled in the art.

It should also be appreciated that provider network 2910 described inFIG. 14 is given by way of example and that other implementations mightbe utilized. Additionally, it should be appreciated that thefunctionality disclosed herein might be implemented in software,hardware or a combination of software and hardware. Otherimplementations should be apparent to those skilled in the art. Itshould also be appreciated that a host, server, gateway or othercomputing device may comprise any combination of hardware or softwarethat can interact and perform the described types of functionality,including without limitation desktop or other computers, databaseservers, network storage devices and other network devices, PDAs,tablets, cell phones, wireless phones, pagers, electronic organizers,Internet appliances, television-based systems (e.g., using set top boxesand/or personal/digital video recorders), game systems and gamecontrollers, and various other consumer products that includeappropriate communication and processing capabilities. In addition, thefunctionality provided by the illustrated modules may in someembodiments be combined in fewer modules or distributed in additionalmodules. Similarly, in some embodiments the functionality of some of theillustrated modules may not be provided and/or other additionalfunctionality may be available.

Illustrative System

In at least some embodiments, a computing device that implements aportion or all of the technologies as described herein may include ageneral-purpose computer system that includes or is configured to accessone or more computer-readable media, such as computer system 3000illustrated in FIG. 15. In the illustrated embodiment, computer system3000 includes one or more processors 3010 coupled to a system memory3020 via an input/output (I/O) interface 3030. Computer system 3000further includes a network interface 3040 coupled to I/O interface 3030.

In various embodiments, computer system 3000 may be a uniprocessorsystem including one processor 3010, or a multiprocessor systemincluding several processors 3010 (e.g., two, four, eight, or anothersuitable number). Processors 3010 may be any suitable processors capableof executing instructions. For example, in various embodiments,processors 3010 may be general-purpose or embedded processorsimplementing any of a variety of instruction set architectures (ISAs),such as the x86, PowerPC, SPARC, or MIPS ISAs, or any other suitableISA. In multiprocessor systems, each of processors 3010 may commonly,but not necessarily, implement the same ISA.

System memory 3020 may be configured to store instructions and dataaccessible by processor(s) 3010. In various embodiments, system memory3020 may be implemented using any suitable memory technology, such asstatic random access memory (SRAM), synchronous dynamic RAM (SDRAM),nonvolatile/Flash-type memory, or any other type of memory. In theillustrated embodiment, program instructions and data implementing oneor more desired functions, such as those methods, techniques, and datadescribed above, are shown stored within system memory 3020 as code 3025and data 3026.

In one embodiment, I/O interface 3030 may be configured to coordinateI/O traffic between processor 3010, system memory 3020, and anyperipheral devices in the device, including network interface 3040 orother peripheral interfaces. In some embodiments, I/O interface 3030 mayperform any necessary protocol, timing or other data transformations toconvert data signals from one component (e.g., system memory 3020) intoa format suitable for use by another component (e.g., processor 3010).In some embodiments, I/O interface 3030 may include support for devicesattached through various types of peripheral buses, such as a variant ofthe Peripheral Component Interconnect (PCI) bus standard or theUniversal Serial Bus (USB) standard, for example. In some embodiments,the function of I/O interface 3030 may be split into two or moreseparate components, such as a north bridge and a south bridge, forexample. Also, in some embodiments some or all of the functionality ofI/O interface 3030, such as an interface to system memory 3020, may beincorporated directly into processor 3010.

Network interface 3040 may be configured to allow data to be exchangedbetween computer system 3000 and other devices 3060 attached to anetwork or networks 3050, such as other computer systems or devices, forexample. In various embodiments, network interface 3040 may supportcommunication via any suitable wired or wireless general data networks,such as types of Ethernet network, for example. Additionally, networkinterface 3040 may support communication viatelecommunications/telephony networks such as analog voice networks ordigital fiber communications networks, via storage area networks such asFibre Channel SANs, or via any other suitable type of network and/orprotocol.

In some embodiments, system memory 3020 may be one embodiment of acomputer-readable medium configured to store program instructions anddata as described above for implementing embodiments of thecorresponding methods and apparatus. However, in other embodiments,program instructions and/or data may be received, sent or stored upondifferent types of computer-readable media. Generally speaking, acomputer-readable medium may include non-transitory storage media ormemory media such as magnetic or optical media, e.g., disk or DVD/CDcoupled to computer system 3000 via I/O interface 3030. A non-transitorycomputer-readable storage medium may also include any volatile ornon-volatile media such as RAM (e.g. SDRAM, DDR SDRAM, RDRAM, SRAM,etc.), ROM, etc, that may be included in some embodiments of computersystem 3000 as system memory 3020 or another type of memory. Further, acomputer-readable medium may include transmission media or signals suchas electrical, electromagnetic, or digital signals, conveyed via acommunication medium such as a network and/or a wireless link, such asmay be implemented via network interface 3040.

CONCLUSION

Various embodiments may further include receiving, sending or storinginstructions and/or data implemented in accordance with the foregoingdescription upon a computer-readable medium. Generally speaking, acomputer-readable medium may include storage media or memory media suchas magnetic or optical media, e.g., disk or DVD/CD-ROM, volatile ornon-volatile media such as RAM (e.g. SDRAM, DDR, RDRAM, SRAM, etc.),ROM, etc, as well as transmission media or signals such as electrical,electromagnetic, or digital signals, conveyed via a communication mediumsuch as network and/or a wireless link.

The various methods as illustrated in the Figures and described hereinrepresent example embodiments of methods. The methods may be implementedin software, hardware, or a combination thereof. The order of method maybe changed, and various elements may be added, reordered, combined,omitted, modified, etc.

Various modifications and changes may be made as would be obvious to aperson skilled in the art having the benefit of this disclosure. It isintended to embrace all such modifications and changes and, accordingly,the above description to be regarded in an illustrative rather than arestrictive sense.

What is claimed is:
 1. A system, comprising: one or more computing devices comprising memory to store program instructions which, when performed by at least one processor, cause the at least one processor to implement a media universe (MU) system comprising: an MU database configured to store content related to a world of a media universe, wherein the MU database includes a base layer that includes canonical content of the MU system and a client layer that includes client-specific content for a plurality of clients of the MU system; and a client service module and client service interface, the client service module configured to: generate digital media for respective clients according to the canonical content from the base layer of the MU database, wherein the digital media comprises hooks that identify locations in the digital media of the canonical content from the base layer that is replaceable by respective client-specific content; receive an indication that at least a portion of the canonical content is to be replaced by the respective client-specific content; determine one or more respective hooks corresponding to the at least a portion of the canonical content to be replaced; render and insert the respective client-specific content at the one or more respective hooks of the generated digital media, wherein the respective client-specific content is visible in the generated digital media in place of the canonical content from the base layer; send, via the client service interface, the generated digital media to client devices associated with the respective clients; receive, from at least one client device of the client devices to which the generated digital media is sent, via the client service interface, input including client-generated content, wherein the client-generated content comprises new or modified content; and update the client layer of the MU database according to the included client-generated content.
 2. The system as recited in claim 1, wherein the client service module is further configured to: select items of client-specific content from the client layer of the MU database; and promote the selected items to the base layer of the MU database, wherein the selected items are added to the canonical content.
 3. The system as recited in claim 2, wherein, to select items of client-specific content from the client layer of the MU database, the client service module is configured to: expose, via the client service interface, at least some client-specific content in the client layer of the MU database to the plurality of clients; receive, via the client service interface, input indicating client ratings of the exposed client-specific content; select the items of client-specific content to promote to the base layer according to the client ratings.
 4. The system as recited in claim 1, wherein the MU databases further comprises one or more intermediate layers of content between the client layer and the base layer, wherein each intermediate layer includes content common to two or more of the plurality of clients.
 5. The system as recited in claim 4, wherein, to generate digital media for respective clients, the client service module is configured to overlay the canonical content from the base layer of the MU database with content from at least one intermediate layer to generate intermediate digital media, and overlay the intermediate digital media with respective client-specific content from the client layer of the MU database to generate the digital media.
 6. The system as recited in claim 1, wherein, to generate digital media for respective clients by overlaying canonical content from the base layer of the MU database with respective client-specific content from the client layer of the MU database, the client service module is configured to: render base digital media from particular canonical content in the base layer; render client-specific digital media content from particular client-specific content in the client layer; and merge the client-specific digital media content for each respective client with the base digital media.
 7. The system as recited in claim 1, wherein, to send, via the client service interface, the generated digital media to client devices associated with the respective clients, the client service module is configured to stream the digital media for each client to at least one client device associated with the respective client.
 8. The system as recited in claim 1, wherein the MU database includes a digital asset repository configured to store a plurality of digital assets related to the world of the media universe, wherein the digital assets include three-dimensional (3D) models of characters or objects of the world of the media universe.
 9. The system as recited in claim 8, wherein the client-specific content for a given client includes one or more digital assets specific to the given client, wherein the one or more digital assets specific to the given client include at least one digital asset that was customized or created by the client.
 10. The system as recited in claim 1, wherein the one or more processors that implement the MU system are on a provider network, wherein the plurality of clients access the MU system on the provider network via an intermediate network, and wherein the MU system is configured to leverage computing resources of the provider network to generate digital media for respective clients by overlaying canonical content from the base layer of the MU database with respective client-specific content from the client layer of the MU database and send the generated digital media to client devices associated with the respective clients.
 11. A method, comprising: maintaining, by a media universe (MU) system implemented on one or more computing devices, an MU database comprising content related to a world of a media universe, wherein the MU database includes a base layer that includes canonical content of the MU system that is common to all clients of the MU system and a client layer that includes client-specific content for the clients of the MU system; generating, by the MU system, digital media for respective clients according to the canonical content from the base layer of the MU database, wherein the digital media comprises hooks that identify locations in the digital media of the canonical content from the base layer that is replaceable by respective client-specific content; receiving an indication that at least a portion of the canonical content is to be replaced by the respective client-specific content; determining one or more respective hooks corresponding to the at least a portion of the canonical content to be replaced; rendering and inserting the respective client-specific content at the one or more respective hooks of the generated digital media, wherein the respective client-specific content is visible in the generated digital media in place of the canonical content from the base layer; streaming the generated digital media to client devices associated with the respective clients; receiving, from at least one client device of the client devices to which the generated digital media is streamed, client-generated content, wherein the client-generated content comprises new or modified content; and streaming updated digital media to the client devices based on the new or modified client-generated content.
 12. The method as recited in claim 11, further comprising updating the client layer of the MU database according to the new or modified client-generated content, wherein updating the client layer of the MU database comprises storing the new or modified content to the MU database.
 13. The method as recited in claim 11, further comprising: promoting at least one element of client-specific content from the client layer of the MU database to the base layer of the MU database; and adding the at least one element of client-specific content to the canonical content.
 14. The method as recited in claim 11, wherein the MU databases further comprises one or more intermediate layers of content between the client layer and the base layer, and wherein said generating digital media for respective clients comprises: overlaying the canonical content from the base layer of the MU database with content from at least one intermediate layer to generate intermediate digital media; and overlaying the intermediate digital media with respective client-specific content from the client layer of the MU database to generate the digital media.
 15. The method as recited in claim 11, wherein said generating digital media for respective clients comprises: rendering base digital media from particular canonical content in the base layer; rendering client-specific digital media content from particular client-specific content in the client layer; and merging the client-specific digital media content for each respective client with the base digital media.
 16. The method as recited in claim 11, wherein the client-specific content for a given client includes one or more digital assets specific to the given client, wherein the digital assets include three-dimensional (3D) models of characters or objects of the world of the media universe, and wherein the one or more digital assets specific to the given client include at least one digital asset that was customized or created by the client.
 17. The method as recited in claim 11, wherein the one or more computing devices that implement the MU system are on a provider network, and wherein the MU system is configured to leverage computing resources of the provider network to perform said generating and said streaming in real-time to a plurality of client devices.
 18. A non-transitory computer-readable storage medium storing program instructions that when executed on one or more computers cause the one or more computers to implement a client service module and client service interface for a media universe (MU) system, the client service module configured to: access content related to a world of a media universe from a media universe (MU) database of the MU system, wherein the MU database includes a base layer that includes canonical content of the media universe, a client layer that includes client-specific content for a plurality of clients of the MU system, and an intermediate layer of content between the client layer and the base layer that includes content common to two or more of the plurality of clients; generate digital media for respective clients by overlaying the canonical content obtained from the base layer with content common to two or more of the plurality of clients obtained from the intermediate layer to generate intermediate digital media, wherein the digital media comprises hooks that identify locations in the digital media of the canonical content obtained from the base layer that is replaceable by other content; receive an indication that at least a portion of the canonical content is to be replaced by the respective client-specific content; determine one or more respective hooks corresponding to the at least a portion of the canonical content to be replaced; render and insert the respective client-specific content at the one or more respective hooks of the generated digital media, wherein the respective client-specific content is visible in the generated digital media in place of the canonical content from the base layer; send, via the client service interface, the generated digital media to client devices associated with the respective clients; receive, from at least one client device of the client devices to which the generated digital media is sent, via the client service interface, input including new or modified client-generated content; and update the client layer of the MU database according to the indicated new or modified client-generated content.
 19. The non-transitory computer-readable storage medium as recited in claim 18, wherein the client service module is further configured to promote at least one element of client-specific content from the client layer of the MU database to one of the intermediate layer or the base layer of the MU database.
 20. The non-transitory computer-readable storage medium as recited in claim 18, wherein the client-specific content for a given client includes one or more digital assets specific to the given client, wherein the digital assets include three-dimensional (3D) models of characters or objects of the world of the media universe, and wherein the one or more digital assets specific to the given client include at least one digital asset that was customized or created by the client. 